2012-05-15 129 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矩陣中設置一些值,然後打印它們。 –