谭浩强C++课后习题16——矩阵对角线元素之和
题目描述:求一个n*n矩阵对角线元素之和。
算法思路:定义一个动态二维数组(定义方法:定义一个指向指针的指针,令其指向每一行的首地址,循环n次,定义n个一维数组),循环n次,对角线之和即为每一行num [i] [i]之和。
#include<iostream>
using namespace std;
int main() {
int n;
int sum = 0;
cout << "输入行数列数:";
cin >> n;
int** num = new int* [n];
for (int i = 0;i < n;i++)
num[i] = new int[n];
cout << "输入数据:" << endl;
for (int i = 0;i < n;i++)
for (int j = 0;j < n;j++)
cin >> num[i][j];
for (int i = 0;i < n;i++)
sum += num[i][i];
cout << "对角线元素之和:" << sum << endl;
return 0;
}
运行测试结果: