gpt4 book ai didi

c++ - 矩阵的行、列和对角线之和

转载 作者:行者123 更新时间:2023-11-30 20:06:39 25 4
gpt4 key购买 nike

求矩阵对角线、行、列之和中的最大值的程序。找不到对角求和代码的问题。

对于输入:

2
16 4
-3 5

预期输出应为 21,而实际输出为 9。

#include<stdio.h>
//Main Function

int main()
{
int n,a[101][101],i,j;
int max=0,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i]);
}
}
j=0;

//COLOUMN SUM
while(j<n)
{
sum=0;
for(i=0;i<n;i++)
sum+=a[i][j];
if(sum>max)
max=sum;
j++;
}
i=0;
//ROW SUM
while(i<n)
{
sum=0;
for(j=0;j<n;j++)
sum+=a[i][j];
i++;
if(sum>max)
max=sum;
}

//DIAGONAL SUM the main problem
sum=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==j)
sum+=a[i][j];
}
}

if(sum>max)
max=sum;
sum=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i+j==n-1)
sum+=a[i][j];
}
}
if(sum>max)
max=sum;
printf("%d",max);
return 0;

}

最佳答案

您错误地读入数组:

scanf("%d",&a[i]);

这应该是:

scanf("%d",&a[i][j]);

关于c++ - 矩阵的行、列和对角线之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22437095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com