一个3x3矩阵对角线元素相加的题目
原创
©著作权归作者所有:来自51CTO博客作者devops学习的原创作品,请联系作者获取转载授权,否则将追究法律责任
今天看完了数组,在做课后题的时候发现有这么一道题,让求出一个3x3矩阵对角线元素相加的问题,在网上大概的看了下感觉不是很全面,只是求了一个对角线元素的和,并没有求另外一个对角线的元素之和,当然我觉的我写的这个也不是很全面要是改成4x4矩阵或者其他的我这个程序也是要改动的,也不是很完美,希望c++高手给与我这个新人一点指点.具体的代码如下:
/* 求一个3x3矩阵对角线元素之和 */ #include <iostream> using namespace std; #include <math.h> void main() { int i = 0; int sum = 0; int k = 0; int j = 0; int a[3][3]={ {1,2,3},{4,5,6},{10,20,30} };
for(i = 0;i < 3;i++) { sum = a[i][i] + sum; } cout<<sum<<endl; for ( i = 0;i < 3;i++) { for ( k = 0;k < 3;k++) { if ( ( ( i == 0 ) && ( k == 2 ) ) || ( ( i == 1) && ( k ==1 ) ) || ( ( i == 2 ) && ( k == 0) ) ) { j = a[i][k] + j; } } } cout<<j<<endl; }
|
代码可能还需要优化,希望大牛们给与一些指点.