求矩阵对角线元素之和
时间: 1ms 内存:128M
描述:
在数学中,矩阵(Matrix)是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,计机图形学、三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。介绍矩阵理论的线性代数课程是工程专业学生的必修科目。
用程序设计的方法解决矩阵问题,最简单的就是将矩阵用二维数组存储和处理。
下面,我们将矩阵对角线元素加起来。
输入:
一个整数n,代表接下来的要输入n行n列的数据,作为矩阵中的元素。(1<n<15)
n行n列的整数值。
输出:
主对角线(多左上到右下)和副对角线(由右上到左下)元素和,两数中间用空格隔开。
示例输入:
3
1 2 3
1 1 1
3 2 1
示例输出:
3 7
提示:
参考答案(内存最优[920]):
#include<stdio.h>
void main()
{
int a[15][15],n,z=0,y=0;
int i,j;
scanf("%d\n",&n);
for(i=0;i<=n-1;i++)
{
for(j=0;j<=n-1;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<=n-1;i++)
{
j=i;
z=z+a[i][j];
}
printf("%d ",z);
for(i=n-1,j=0 ;i>=0&&j<=n-1;i--,j++)
{
y=y+a[i][j];
}
printf("%d",y);
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
int main()
{
int i=0,j=0,a[15][15],s1=0,s2=0,n;
cin>>n;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
cin>>a[i][j];
for(i=0;i<n;i++){
s1+=a[i][i];
s2+=a[i][n-1-i];
}
cout<<s1<<" "<<s2<<endl;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。