我必須通過C從文件中提取矩陣並計算它的行列式。要做到這一點,任何矩陣高達3x3我相信我會需要知道矩陣的尺寸,但我很新的編程,所以我不知道我有什麼選擇。C中矩陣的尺寸
如果我有一個帶有未指定矩陣的.dat文件,該怎麼做才能找到矩陣的尺寸?
正如我不知道我的選擇是
我必須通過C從文件中提取矩陣並計算它的行列式。要做到這一點,任何矩陣高達3x3我相信我會需要知道矩陣的尺寸,但我很新的編程,所以我不知道我有什麼選擇。C中矩陣的尺寸
如果我有一個帶有未指定矩陣的.dat文件,該怎麼做才能找到矩陣的尺寸?
正如我不知道我的選擇是
應對您發表評論:
您可以通過計算\n
數來決定文件中的行數。
#include <stdio.h>
int main(void) {
int lines = 0;
FILE *fh;
fh = fopen("matrix.dat", "r");
int ch;
while (EOF != (ch=fgetc(fh)))
if (ch=='\n')
++lines;
fclose(fh);
printf("%d\n", lines);
return 0;
}
以及你可以做什麼擺陣,並因爲它是方陣 行數=數在正確的方向一推將是有益的 找到元素個數的平方根
接入是通過M [i * d + j] d是矩陣的維數r = c = d;
提示使用動態數組指針即
http://www.cs.bu.edu/teaching/c/file-io/intro/試試這個來讀取文件希望它有幫助 –
這可能有幫助嗎? http://stackoverflow.com/questions/37538/how-do-i-determine-the-size-of-my-array-in-c – codedude
如果你想計算矩陣的行列式,矩陣總是形式'nxn'。在這種情況下,您可以逐行閱讀內容,直到「EOF」。然後你知道等於列數的行數。 – PhillipD
我想到了,但不幸的是我不知道如何閱讀linewise內容? – Carterini