求教一道c++题目

蓝色看不清的部分就是A00A01这样排序下来的... 蓝色看不清的部分就是A00 A01这样排序下来的 展开
 我来答
小黑哎啊
科技发烧友

2020-06-08 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1642
采纳率:74%
帮助的人:361万
展开全部

#include<iostream>

#include<time.h>

#include<stdlib.h>

using namespace std;

int main()

{

srand((unsigned)time(NULL));//为随机函数提供种子 

int a[5][5],sum1=0,sum2=0;

int main_sum=0;//主对角线元素和 

int minor_sum=0;//副对角线元素和 

int side_sum=0;//靠边元素和 

int intside_sum=0;//内部元素和 

int every_sum=0;//所有元素和 

int max1=0,max2=0;//最大值下标 

int min1=0,min2=0;//最小值下标 

int up_sum=0;//上三角和 

int down_sum=0;//下三角和 

int row_sum[5];//每一行之和 

int col_sum[5];//每一列之和 

for(int i=0;i<5;i++)

for(int j=0;j<5;j++)

{

a[i][j]=rand()%10;//1~9

cout<<a[i][j]<<" ";//输出矩阵元素 

if(j==4)

cout<<endl;

}

cout<<endl;

for(int i=0;i<5;i++)

for(int j=0;j<5;j++)

{

every_sum+=a[i][j];

if(i==j)

main_sum+=a[i][j];

if(i+j==4)

minor_sum+=a[i][j];

if(j==0||j==4||i==0||i==4)

{

side_sum+=a[i][j];

if(i==5&&j==5)

side_sum-=a[0][0]+a[4][0]+a[4][4]+a[0][4];

}


if(i!=4&&i!=0&&j!=0&&j!=4)

intside_sum+=a[i][j];

if(a[i][j]>a[max1][max2])

{

max1=i;

max2=j;

}

if(a[i][j]<a[min1][min2])

{

min1=i;

min2=j;

}

if(j>i)

up_sum+=a[i][j];

if(j<i)

down_sum+=a[i][j];

}

for(int i=0;i<5;i++)

{

sum1=0,sum2=0;

for(int j=0;j<5;j++)

{

sum1+=a[i][j];

sum2+=a[j][i];

}

row_sum[i]=sum1;

col_sum[i]=sum2;

}

cout<<"所以元素和:"<<every_sum<<endl;

cout<<"主对角线之和:"<<main_sum<<endl;

cout<<"副对角线之和:"<<minor_sum<<endl;

cout<<"靠边元素之和:"<<side_sum<<endl;

cout<<"内部元素之和:"<<intside_sum<<endl;

cout<<"最大值下标:"<<max1<<" "<<max2<<endl;

cout<<"最小值下标:"<<min1<<" "<<min2<<endl;

cout<<"矩阵下三角之和"<<down_sum<<endl;

cout<<"矩阵上三角之和"<<up_sum<<endl;

for(int i=0;i<5;i++)

cout<<"第"<<i+1<<"行元素之和"<<row_sum[i]<<endl;

cout<<endl;

for(int i=0;i<5;i++)

cout<<"第"<<i+1<<"列元素之和"<<col_sum[i]<<endl;

return 0;

}

追问
老哥我才大二刚学c语言你写的我好多看不懂0.0
追答
这些都是基础的算法,不难啊,就是有点多,有点乱;你先把题的意思理解透彻;不是有9个功能吗,一个一个功能看,一个一个理解;别整体看,整体看,我都感觉有点懵;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式