2013-06-19 172 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'? –