現在大学の授業でプログラムを作成しているのですが、タイトルの通り配列に値をいれても0が代入されます。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define ROW 4492
#define COL 4
#define MAX_NUM 4726
#define NOE 4726
#define XY 2
int main()
{
FILE *fpr,*fpw;
int rop[ROW][COL];
double coord[NOE][XY];
int i,j;
double f,g;
char h;
j=0;
char *fnamec="coord.txt";
fpr=fopen(fnamec,"r");
if(fpr==NULL)
{
printf("couldnt open coord.txt\n");
return -1;
}
i=0;
while(fscanf(fpr,"%lf %lf %c",&f,&g,&h) != EOF)
{
coord[i][0]=f;
coord[i][1]=g;
i++;
}
printf("%f %f\n",coord[0][1]);
fclose(fpr);
return 0;
}
1.00 2.00 i
2.00 5.00 i
(以下略)
という具合になっています。左からx座標、y座標で、右のiは特に気にしなくていいものです。
このプログラムを実行すると、2次元配列のcoord[][0]、つまりx座標のデータは正常に格納されるのですが、coord[][1]、y
座標のところにはすべて0が代入されてしまいます。
こんなことは初めてで戸惑っているのですが、どなたか原因等分かる方いらっしゃいませんか?