1

C を使用してファイルから行列を抽出し、その行列式を計算する必要があります。3x3までの任意のマトリックスに対してこれを行うには、マトリックスの次元を知る必要があると確信していますが、プログラミングは初めてなので、どのオプションがあるかわかりません。

未指定の行列を含む .dat ファイルがある場合、行列の次元を見つけるにはどうすればよいですか?

自分のオプションが何であるかがわからないので、正しい方向に押すだけで役に立ちます

4

2 に答える 2

1

あなたができることは、それらを配列に入れることです。行数=列数の正方行列であるため、要素数の平方根を見つけます

アクセスは M[i*d+j] を介して行われます。d は行列 r=c=d の次元です。

ヒント 動的配列、つまりポインターを使用する

于 2013-11-02T16:44:17.853 に答える
0

コメントへの返信:

の数を数えることで、ファイル内の行数を判断できます\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;

}
于 2013-11-02T16:51:31.027 に答える