java中从键盘输入一个4行4列的实数矩阵到一个二维数组中,后求主对角线上元素及副对角线上元素之积
展开全部
#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;另外转置矩阵就是将行列互换..
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;另外转置矩阵就是将行列互换..
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询