键盘上输入一个4行4列的一个是数矩阵到一个二维数组中然后求出主对角线上的元素乘积并求出该矩阵的转置矩

c++

第1个回答  推荐于2018-04-11
你看看. 如果不符合你的原意.再提出来!
#include <iostream>
using namespace std;int main()
{
double a[4][4],sum=1,t; //为什么用double? 因为题目是数矩阵,不知道是不是实数矩阵的意思.所以用了double.//如果是整数请改成int

for(int j,i=0;i<4;++i) //输入矩阵,并求出对角线的乘积.
{
for(j=0;j<4;++j)
{
cin>>a[i][j];
if(i==j) //求主对角线各元素的乘积;
sum*=a[i][j];
}
}
cout<<"原矩阵:"<<endl;
for(i=0;i<4;++i)
{
for(j=0;j<4;++j)
cout<<a[i][j]<<" ";
cout<<endl;
} cout<<"\n对角线乘积为:"<<sum<<endl; /*转置矩阵.*/
for(i=0;i<=3;++i)
{
for(j=0;j<=i;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
cout<<"矩阵转置后"<<endl;
for(i=0;i<4;++i)
{
for(j=0;j<4;++j)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}运行时截图:第一行是输入. 共16个数输出对角线乘积,以本题为例就是1*6*11*16;另外转置矩阵就是将行列互换..本回答被网友采纳