如何在c++中返回一个矩阵

How can we return a Matrix in C++?

本文关键字:一个 c++ 返回      更新时间:2023-10-16

我是C中的新手,我需要返回一个矩阵形式的过程…

我需要在程序上写一个矩阵,并将其返回给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;
}

作为指针传递

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;
}