C を使用してファイルから行列を抽出し、その行列式を計算する必要があります。3x3までの任意のマトリックスに対してこれを行うには、マトリックスの次元を知る必要があると確信していますが、プログラミングは初めてなので、どのオプションがあるかわかりません。
未指定の行列を含む .dat ファイルがある場合、行列の次元を見つけるにはどうすればよいですか?
自分のオプションが何であるかがわからないので、正しい方向に押すだけで役に立ちます
あなたができることは、それらを配列に入れることです。行数=列数の正方行列であるため、要素数の平方根を見つけます
アクセスは M[i*d+j] を介して行われます。d は行列 r=c=d の次元です。
ヒント 動的配列、つまりポインターを使用する
コメントへの返信:
の数を数えることで、ファイル内の行数を判断できます\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;
}