求矩阵对角线元素之和

求矩阵对角线元素之和

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注