2012-05-15 91 views
0

我试图从.txt文件读取的数据创建一个二维数组。
在 'data.txt中' 的数据看起来像初级讲座:C中的多维数组

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

假设它是对称的。
有没有什么办法可以创建2D矩阵[i] [j]并在d [i] [j] = value中打印?

感谢您的意见/建议。

+0

您可以在那里创建char数组并存储值和密钥。 –

+0

它是'''分隔值吗? –

回答

1

二维数组是有用的。如果是这种情况,其他答案可能会有用。如果没有,2D阵列不适合你。

我建议使用一个简单的一维数组,分配(malloc)有n * n条目。
然后,要访问单元格i/j,请使用array[i*n+j]。另一种方法是分配指向数组的指针数组。创建它更复杂,但您可以将其作为array[i][j]访问。

0
int tda[3][3]; 
tda[1][2] = 'x'; 

您还可以将malloc用于动态大小的数组。

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"); 
    } 
} 
+0

这个函数做什么? –

+0

它只是在4x4矩阵中设置一些值,然后打印它们。 –