Pytanie:
Dlaczego pierwszych 7 wypisan jest blednych (powinno byc 1,2,3,4,5,6,7 a jest jakna zdjeciu)? Co robie nie tak?
KOD:
include <stdio.h>
int main(void)
{
FILE *plik;
int x,y;
int macierz[][9] = {
{1,2,3,4,5,6,7,8,9 },
{1,2,3,4,5,6,7,8,9 },
{1,2,3,4,5,6,7,8,9 },
{1,2,3,4,0,6,7,8,9 },
{1,2,3,4,9,6,7,8,9 },
{1,2,3,4,5,6,7,8,9 }
};
if((plik = fopen("przyklad.txt","w"))==NULL)
{
printf("BLAD");
}
else
{
for(y=0; y< 6; ++y )
{
for(x=0;x<9;++x)
{
if(x==8)
{
fprintf(plik, "%d", macierz[y][x]);
fprintf(plik,"\n");
}
else
fprintf(plik, "%d", macierz[y][x]);
}
}
fclose(plik);
printf("ZAPISANO\n");
}
if((plik = fopen("przyklad.txt","r"))==NULL)
{
printf("BLAD");
}
else
{
for(y=0;y<6;y++)
for(x=0;x<9;x++)
fscanf(plik,"%d ",&macierz[y][x]);
for(y=0;y<6;y++)
{
for(x=0;x<9;x++)
{
printf("%d ",macierz[y][x]);
}
printf("\n");
}
}
fclose(plik);
return 0;
}
screen z wynikiem i danymi wejsciowymi
http://ifotos.pl/zobacz/Beztytuuj_xnnxnnn.jpg/
0
0
Zajrzyj do pliku to będziesz miał odpowiedź na twoje pytanie.
for(y=0; y< 6; ++y , fprintf(plik,"\n") )
for(x=0;x<9;++x)
fprintf(plik, "%d\t", macierz[y][x]); // tu spacja lub tabulacja
for(y=0;y<6;++y)
for(x=0;x<9;++x)
fscanf(plik,"%d",&macierz[y][x]); // tu bez spacji