#include <iostream>
using namespace std;
const int row=3;
const int column=3;
//该程序以列数为column为例
void tramat(int mat1[][column],int mat2[][column],int row);//将矩阵mat1转置并存储到矩阵mat2中
void addmat(int mat1[][column],int mat2[][column],int mat3[][column],int row);//将矩阵mat1与mat2相加并存储到mat3中
void print(int mat[][column],int row);//打印函数
int main()
{
	//===================矩阵加法===============================
	int mat1[row][column],mat2[row][column],mat3[row][column];
	cout<<"下面进行矩阵加法运算请输入两个3×3矩阵"<<endl;
	cout<<"下面输入第一个"<<endl;
	for(int i=0;i!=row;++i)
		for(int j=0;j!=column;++j)
			cin>>mat1[i][j];
	cout<<"下面输入第二个"<<endl;
    for(int i=0;i!=row;++i)
		for(int j=0;j!=column;++j)
			cin>>mat2[i][j];
	addmat(mat1,mat2,mat3,row);
	print(mat3,row);
	//=====================矩阵转置===============================
	int matrix[row][column],matrix0[row][column];
    cout<<"下面进行矩阵转置运算请输入一个3×3矩阵"<<endl;
    for(int i=0;i!=row;++i)
		for(int j=0;j!=column;++j)
			cin>>matrix[i][j];
	tramat(matrix,matrix0,row);
	print(matrix0,row);

}
void tramat(int mat1[][column],int mat2[][column],int row)
{ 
  for(int i=0; i<row; i++)
    for(int j=0;j<column;j++)
      mat2[j][i]=mat1[i][j];
}
void addmat(int mat1[][column],int mat2[][column],int mat3[][column],int row){
  for(int i=0; i<row; i++)
    for(int j=0;j<column;j++)
      mat3[i][j] = mat1[i][j] + mat2[i][j];
}
void print(int mat[][column],int row){
   for(int i=0; i<row; i++)
   {
     for(int j=0;j<column;j++)
		 cout<<mat[i][j]<<"   ";
     cout<<endl;
   }

}