Problem tkwi na wczytaniu pliku tekstowego, który znajduje się poniżej do tablicy G[][]. Gdzie 'nrW' to numer wierzchołka, a 'tmp' to są właśnie kolejne liczby z pliku txt. G[nrW][tmp] jest tablicą dwuwymiarową, która przechowuje tzw. listę sąsiedztwa. Jak wczytać dane do tej tablicy linijka po linijce? próbowałem poprzez znak nowej linii, która w ascii ma wartość 10. Jeśli wystąpi znak nowej linii to numer wierzchołka zwiększa się o jeden a do 'tmp' wpisywane są kolejne elementy z następnej linijki. W efekcie daje mi to inne wyniki niż oczekiwane. Jak to zrobić poprawnie?
to co zrobiłem:
nrW = 1;
int tmp= 0;
while( !feof(pFile) )
{
fscanf(pFile, "%c", &znak);
if (znak != 10) // w ascii 10 to znak nowej linii
{
fscanf(pFile, "%i", &tmp);
G[nrW][tmp] = 1;
}
else if (znak == 10)
{
fscanf(pFile, "%i", &tmp);
G[nrW++][tmp] = 1;
}
}
plik txt do programu
2 8
1 3
2 10
5 11
4 12
7 14
6
1 15
10
3 9
4 17 19
5 13
12 21
6
8 16
15 24
11
25
11 20
19 28
13
23 29
22 24
16 23 30 32
18
32 34
34
20 34
22 36
24
32
24 26 31 38
40
26 27 28
41 42
29 37
36
32
40
33 39 41
35 40
35