C++ 矩阵行或列求和怎么处理?
比如一个未初始化的二维数组intnum[3][3],要求cin该数组的每个元素,以矩阵的格式打印出来,如何求这个矩阵每一行(或每一列)的和呢?...
比如一个未初始化的二维数组int num[3][3],要求cin该数组的每个元素,以矩阵的格式打印出来,如何求这个矩阵每一行(或每一列)的和呢?
展开
2个回答
展开全部
#include <iostream>
#include <iomanip>
using namespace std;
void out(int **p,int line,int row)
{
int i,j;
cout<<"矩阵:"<<endl;
for(i=0;i<line;i++)
{
for(j=0;j<row;j++)
cout<<setw(4)<<p[i][j];
cout<<endl;
}
cout<<"\n每行的和:"<<endl;
for(i=0;i<line;i++)
{ int sum =0;
for(j=0;j<row;j++)
sum+=p[i][j];
cout<<sum<<"\t";
}
cout<<"\n每列的和:"<<endl;
for(i=0;i<row;i++)
{ int sum =0;
for(j=0;j<line;j++)
sum+=p[j][i];
cout<<sum<<"\t";
}
}
int main()
{
//创建一个2维数组,并初始化
int **p;
int i,j;
int line ,row;
cout<<"输入行数"<<endl;
cin>>line;
cout<<"输入列数"<<endl;
cin>>row;
p = new int * [line];
for(i=0;i<line;i++)
p[i] = new int [row];
cout<<"输入数据"<<endl;
for(i=0;i<line;i++)
for(j=0;j<row;j++)
cin>>*(*(p+i)+j);
out(p,line,row);
}
#include <iomanip>
using namespace std;
void out(int **p,int line,int row)
{
int i,j;
cout<<"矩阵:"<<endl;
for(i=0;i<line;i++)
{
for(j=0;j<row;j++)
cout<<setw(4)<<p[i][j];
cout<<endl;
}
cout<<"\n每行的和:"<<endl;
for(i=0;i<line;i++)
{ int sum =0;
for(j=0;j<row;j++)
sum+=p[i][j];
cout<<sum<<"\t";
}
cout<<"\n每列的和:"<<endl;
for(i=0;i<row;i++)
{ int sum =0;
for(j=0;j<line;j++)
sum+=p[j][i];
cout<<sum<<"\t";
}
}
int main()
{
//创建一个2维数组,并初始化
int **p;
int i,j;
int line ,row;
cout<<"输入行数"<<endl;
cin>>line;
cout<<"输入列数"<<endl;
cin>>row;
p = new int * [line];
for(i=0;i<line;i++)
p[i] = new int [row];
cout<<"输入数据"<<endl;
for(i=0;i<line;i++)
for(j=0;j<row;j++)
cin>>*(*(p+i)+j);
out(p,line,row);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询