Code:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i,j,it=7,nz=5,nx=5;
int P[nz][nx];
int x[nz][nx];
char filename[20];
sprintf(filename,"SF_%d.txt", it);
FILE *file;
file = fopen(filename, "w" );
for (i=0; i<nz; i++)
{
for (j=0; j<nx; j++)
{
P[i][j]=i*i;
}
}
for(i=0;i<nz;i++)
{
for(j=0;j<nx;j++)
{
fprintf(file,"%d\t",P[i][j]);
}
fprintf(file,"\n");
}
FILE *hFile;
char filename2[20];
sprintf(filename2,"SF_%d.txt",it);
hFile = fopen("SF_7.txt", "r");
for(i=0;i<nz;i++)
{
for(j = 0; j < nx; j++)
{
fscanf(hFile,"%d\t", &x[i][j]);
}
}
for (i=0; i<nz; i++)
{
for (j=0; j<nx; j++)
{
printf("%d\t",x[i][j]);
}
printf("\n");
}
return 0;
}
Out put: SF_7.txt and
0 8 -1881015350 -1881017180 -1073743808
3 48 44 1287 0
0 1 -1880731168 3260 -1073743848
3 -1881144184 -1880955984 -1073743736 -1881029853
-1073743808 3 48 -1073743792 1287
which is 5 by 5 matrix displayed after reading the file SF_7.txt. I don't understand why i am getting this result. The expected result is
0 0 0 0 0
1 1 1 1 1
4 4 4 4 4
9 9 9 9 9
16 16 16 16 16
Please give me your comments.
Thanks,
Joealem.