2013-06-19 425 views
-2

我是新來的C,我需要返回一個矩陣形式的過程...我們怎樣才能在C++中返回一個Matrix?

我需要在過程上寫一個矩陣並將其返回給main並顯示它。

我有什麼是這樣的:

int write_matrix() 
{ 
    int matriz[2][2],i,j; 

    for(i=0;i<2;i++){ 
     for(j=0;j<2;j++){ 
      cin >> matriz[i][j]; 
     } 
    } 
    return matriz[][]; 
} 

int main() 
{ 

    int matriz[2][2],i,j; 

    matriz[][] = write_matrix(); ???????????????????? 

    for(i=0;i<2;i++){ 
     for(j=0;j<2;j++){ 
      cout << matrix[i][j]; 
     } 
    } 

    system("pause"); 
    return 0; 
} 
+3

下在標題中的C++和BASIC? –

+1

他顯然沒有閱讀標籤說明,並認爲這是一個基本/簡單的問題。 –

回答

-1

將它作爲一個指針

int write_matrix(int matriz[][2]) 
{ 

    int i,j; 

    for(i=0;i<2;i++){ 
    for(j=0;j<2;j++){ 
     cin >> matriz[i][j]; 
    } 
    } 
} 

int main() 
{ 

    int matriz[2][2],i,j; 

    write_matrix(matriz); 

    for(i=0;i<2;i++){ 
    for(j=0;j<2;j++){ 
     cout << matrix[i][j]; 
    } 
    } 
    system("pause"); 
    return 0; 
} 

可替代地,該陣列也可以以如下方式宣稱:

int write_matrix(int** matriz) 
{ 

    int i,j; 

    for(i=0;i<2;i++){ 
    for(j=0;j<2;j++){ 
     cin >> matriz[i][j]; 
    } 
    } 
} 

int main() 
{ 

    int **matriz,i,j; 
    matriz = new int *[2]; 
    for(i = 0; i <2; i++) 
    matriz[i] = new int[2]; 

    write_matrix(matriz); 

    for(i=0;i<2;i++){ 
    for(j=0;j<2;j++){ 
     cout << matrix[i][j]; 
    } 
    } 
    system("pause"); 
    return 0; 
} 
+0

謝謝;) 完美! – BrunoWB

+0

-1代表基於類的解決方案,用於低劣的C風格數組和陣列到指針的衰減。 – Puppy

+0

'std :: array'? '的std :: VECTOR'? –