0

我正在尝试从 .txt 文件中读取的数据创建一个二维数组。
'data.txt' 中的数据如下所示:

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

假设它是对称的。
有没有办法创建一个二维矩阵 [i][j] 并在 d[i][j] = value 中打印?

感谢您的意见/建议。

4

3 回答 3

1

当在编译时知道维度时,二维数组很有用。如果是这种情况,其他答案可能会很有用。如果没有,二维数组不适合您。

我建议使用一个简单的一维数组,分配 ( malloc) 以具有 n*n 条目。
然后,要访问单元格 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 回答