我必须通过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