0

.txt ファイルから読み取ったデータから 2D 配列を作成しようとしています。
「data.txt」のデータは以下のようになります。

A;B;4
A;C;5
B;C;8

対称であると仮定します。
2D マトリックス [i][j] を作成し、d[i][j] = 値で出力する方法はありますか?

コメント/提案をお待ちしております。

4

3 に答える 3

1

2D配列は、コンパイル時に次元がわかっている場合に役立ちます。この場合、他の回答が役立つ場合があります。そうでない場合は、2D配列は適していません。

mallocn * n個のエントリを持つように割り当てられた()の単純な1D配列を使用することをお勧めします。
次に、セルi / jにアクセスするには、を使用しますarray[i*n+j]

別のアプローチは、ポインタの配列を配列に割り当てることです。作成はより複雑ですが、としてアクセスできますarray[i][j]

于 2012-05-15T18:30:51.573 に答える
0
int tda[3][3];
tda[1][2] = 'x';

動的なサイズの配列にmallocを使用することもできます。

于 2012-05-15T18:21:49.343 に答える
0

あなたが書いたように:

#include <stdio.h>

#define N 4

int main(int argc, char **args) {
    int A[N][N], i, j;

    for (i = 0; i < N; i++)
        for (j = 0 ; j < N; j++)
            A[i][j] = i + j;

    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++)
            printf("%d ", A[i][j]);
        printf("\n");
    }
}
于 2012-05-15T18:29:05.093 に答える