Pobieranie danych z pliku

0

Mam plik z danymi ktrore sa po kolei wartosci o typie char i calkowitym np.
5 // wielkosc
X 13 Y 22 X 51 A 31
X 12 A 4 X 21 A 99
X 13 Y 22 X 51 A 31
X 12 A 4 X 21 A 99
X 13 Y 22 X 51 A 31
sa zawsze macierza kwadratowa o podanej wielkosci

   FILE *file = fopen("test.txt","r+");
   fscanf(file,"%d",&N);
   printf("%d",N);
   for(int i=0; i<N; i++){
       for(int j=0; j<N; j++){
           if(i%2 == 0 && j%2 == 0 ){
               char a = 'Z';
               fscanf(file,"%c",&a);
               printf("%c",a);
           }
           if(i%2 != 0 && j%2 != 0 ){
               char b = 'Z';
               fscanf(file,"%c",&b);
               printf("%c",b);
           }
           if(i%2 == 0 && j%2 != 0){
               int x = -1;
               fscanf(file,"%ld",&x);
               printf("%ld",x);

           }
           if(i%2 != 0 && j%2 == 0){
               int y = -1;
               fscanf(file,"%ld",&y);
               printf("%ld",y);

           }
       }
   }

Daje mi to strasznie dziwne wyniki. Co robie nie tak

0

Przepraszam moj blad przy podawaniu danych wejsciowych
X 02 A 31 Y
9 Y 23 Z 0
X 32 Z 6 X
9 Y 8 A 34
X 0 R 2 R

i w petli dla 2 indexow parzystych lub nieparzystych mamy litere a dla roznych indexow liczbe

1

Cóż to za dziwne wyniki? Polecam lekturę: https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/

Na pierwszy rzut oka "%c" wczytuje pierwszy napotkany znak - spację. Zamiast tego użyj " %c", aby zignorować białe znaki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1