欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求两个矩阵的和,然后求出矩阵对角线上元素之和

程序员文章站 2022-07-15 12:07:23
...

两个矩阵求和:首先两个矩阵的行数和列数应一致,然后将相同位置上的两个数相加保存到其中一个数组中,再输出。

矩阵对角线上的元素之和:对角线上元素的行号和列号的具有的特征:1、行号等于列号;2、行号与列号之和为总行数。

即:

if (i != SIZE - 1 - i)
			sum += array1[i][i] + array1[i][SIZE - 1 - i];
		else
			sum += array1[i][i];

完整代码如下:

#include<stdio.h>
#include<stdlib.h>
#define SIZE 3
int main()
{
	int array1[SIZE][SIZE] = { 1,2,3,4,5,6,7,8,9 };
	int array2[SIZE][SIZE] = { 10,11,12,13,14,15,16,17,18 };
	int i = 0;
	int j = 0;
	int sum = 0;
	for (i = 0; i < SIZE; ++i)
	{
		for (j = 0; j < SIZE; j++)
		{
			array1[i][j] += array2[i][j];
			printf("%-6d", array1[i][j]);
		}
		printf("\n");
	}
	for (i = 0; i < SIZE; ++i)
	{
		if (i != SIZE - 1 - i)
			sum += array1[i][i] + array1[i][SIZE - 1 - i];
		else
			sum += array1[i][i];
	}
	printf("对角线之和为:%d\n", sum);
	system("pause");
}

输出结果为:
求两个矩阵的和,然后求出矩阵对角线上元素之和