我正在處理一個問題,在該問題中,我必須掃描一個輸入文件,然後將變量分配給i和j。輸入文件(input.txt)必須如下所示:文件掃描C中的二維數組
100 20
500 70
10 3
250 25
600 100
我的代碼如下所示。
int i, j;
float table[5][5];
FILE * ifp = fopen("input.txt","r");
// initiliaze array
for (i=0; i <=1; i++)
for (j=0;j<=4;j++)
fscanf(ifp,"%f",&table[i][j]);
我遇到的問題是,所有的值都被輸入第一成J個 順序。我需要將兩列分開,以便J首先只讀入左邊的行。
例如,table[0][3]
將代表250
。並且因此table[1][0]
將 代表20
。
或
如果更容易。將1
列全部放入i
,將列2
放入j
。讓我知道
a[0] a[1]
a[0][0]--> 100 20 <--a[1][0]
a[0][1]--> 500 70 <--a[1][1]
a[0][2]--> 10 3 <--a[1][2]
a[0][3]--> 250 25 <--a[1][3]
a[0][4]--> 600 100 <--a[1][4]
謝謝。我一直在爲此苦苦掙扎了一段時間。
謝謝你,這幫了很多。 – user2076925
不客氣 – MOHAMED