下面我会围绕奇数型矩阵和偶数型矩阵来展开。

什么是奇数型矩阵?

eg.a[3][3]、a[5][5]、a[7][7]、a[9][9]…

什么是偶数型矩阵?

eg.a[4][4]、a[6][6]、a[8][8]、a[10][10]…

奇数型矩阵实战

Question1:现有三行三列的二维数组int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};,编写程序实现计算对角线元素之和。

我给大家写在纸上,大家来一起观察。


你会发现,奇数型矩阵(a[3][3])的对角线上的数全是奇数,(你还可以拿张纸自行试一下a[5][5]、a[7][7]、a[9][9]…)那么我们可以利用奇数取2余1的或不等于1的特点来编写程序。

#include <stdio.h>
int main()
{int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};int i,j;int sum=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if(a[i][j]%2!=0)//a[i][j]代表对角线上的各个元素sum+=a[i][j];//符合条件的累加}}printf("对角线元素之和是:%d\n",sum);return 0;
}

笔算结果应该是:1+5+9+3+5+7=30?

可我们输出以后是什么?

哪里有问题?

你会发现矩阵的C位加了两遍,谁在C位?一看小丑竟是5(wo)自己。


所以说按照多维数组的方法来遍历矩阵,计算对角线元素的时候他是不会重复的,因为数组取得是具体的位置,一个萝卜一个坑,不会出岔子。

偶数型矩阵实战

Question2:现有三行三列的二维数组 int wolf[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};,编写程序实现计算对角线元素之和。

这是个偶数矩阵,我们还是来画图分析。


有什么特征?

拿到这道题,我想都没想“拿来主义”,但是一分析好像不行,因为偶数矩阵的对角线有偶数、也有奇数,咋办捏?


同志们,不要忘了数组的特点-----------位置

观察他们的位置


上面是i=j
下面是i+j=4-1而且行是递增的,列是递减的。

代码:

#include <stdio.h>
int main()
{int wolf[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};int i,j;int sum=0;int left=0,right=0;for(i=0;i<4;i++){for(j=0;j<4;j++){if(i==j)//left+=wolf[i][j];}}for(i=0;i<4;i++){for(j=4;j>=0;j--){if(i+j==3)right+=wolf[i][j];}}sum=(right+left);printf("对角线元素之和是:%d\n",sum);return 0;
}

输出结果:

为什么有的梦可以记住,而有的梦不可以?

如果醒过来能记住梦,说明你是在REM阶段醒来的

什么是REM阶段呢?

也就是眼珠子转的比较快的时候你醒啦。

C++矩阵的对角线之和相关推荐

  1. C语言-求矩阵的对角线之和

    其实这种题往往规律性很强,用笔画一画相信都能发现突破口,下面我就讲最简单的方法去求解. 先画图  无非两种情况,n*n,n要么是双数,即对2求余等于0,要么是单数,对2求余不为0:单数和双数的区别在于 ...

  2. Matlab Tricks(十三)—— 提取矩阵的对角线元素

    >> A = randi(3, 3)A =3 3 11 2 23 3 3 1. diag(A)(尽可以查看,不可以修改) >> diag(A) ans =323 2. 进行索引 ...

  3. 置换矩阵的应用:逆矩阵的对角线元素求法

    置换矩阵是一种非常实用的数学工具, 其确切定义如下: 一个正方矩阵,若其每一行和每一列有且仅有一个非零元素111,则称之为置换矩阵. 顾名思义,其作用是: 当将某一矩阵左乘置换矩阵,相当于将矩阵的行重 ...

  4. 《Deep Learning》—— 数学基础

    数学基础 1. 矩阵对角化,SVD分解以及应用 1.1实用性质: A∗(B+C)=A∗B+A∗CA*(B+C)=A*B+A*CA∗(B+C)=A∗B+A∗C(分配率) A∗(B∗C)=(A∗B)∗CA ...

  5. c语言百日刷题第四天

    目录 1.用筛选法求100之内的素数 2.用选择法对10个整数排序 3.求一个3*3的整型矩阵的对角线之和 4.有一个已排序好的数组,要求输入一个数后,按原来排序的规律将它插入数组中 5.将一个数组中 ...

  6. python课程设计矩阵对角线之和_Python二维数组实现求出3*3矩阵对角线元素的和示例...

    Python二维数组实现求出3*3矩阵对角线元素的和示例 题目:求一个3*3矩阵对角线元素之和. 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出. def two_dime ...

  7. Java实现矩阵对角线元素之和

    一.题目 定义一个二维数组用于存储一个 矩阵的元素值,并求出这个矩阵的对角线元素之和,然后输出计算结果. 二.分析 左对角线:行列相等,即i == j 右对角线:行列相加等于行数减一,即 i+j == ...

  8. arcgisengine计算线要素总长度_弱电监控工程报价清单中,线材及辅材该如何计算?...

    在做方案过程中,经常遇到线材配置如:线材长度计算.线材选型.管槽选型等,根据以上问题现整理出关于线材配置方法. 一.线缆长度的估算 线缆长度估算分为有图纸和没图纸两种情况: 1.有图纸情况 在图纸上找 ...

  9. 线性代数的本质(3Blue1Brown线代笔记)

    01:向量究竟是什么? 从物理专业学生视角看,向量是空间中的箭头,向量可在空间中自由落脚,决定向量的是它的长度和所指的方向. 从计算机专业学生的视角看,向量是有序的数字列表,例如研究房价,你会用二维向 ...

最新文章

  1. Python-map、reduce、filter、sorted函数
  2. 盛大 牛人 blog
  3. Dubbo-入门指南+实例
  4. 使用 core dump 查找程序遇到严重问题退出的原因
  5. java取number长度_Java中常用方法(NumberMath)
  6. Window (Standard IO)
  7. Linq表达式和Lambda表达式用法对比
  8. 用Sass创建MetaFizzy效果
  9. ubuntu虚拟机和主机互ping及secureCRT使用
  10. ios 自定义圆环进度条
  11. 《程序员面试宝典》精华 底层部分
  12. Mac下 javac java 进行编译和运行含有包路径及引入jar包的类
  13. MySQL编译安装时常见错误分析
  14. python post请求实例_Python post请求实现代码实例
  15. 广东南方地形地籍成图软件CASS10.1十大新亮点(资源下载在文尾)
  16. Cisco iOS的两种配置文件(思科命令的保存)
  17. 【C语言】C语言实现泛型编程
  18. 一个便捷的在线取色器工具
  19. 20180423-B · Australian Salaries by Gender · ggplot2 ggalt geom_dumbbell 棒棒糖图 哑铃图 · R 语言数据可视化 案例 源码
  20. AA Master考试认证笔记

热门文章

  1. 如何破解区块链应用落地难题
  2. Qt下libusb-win32的使用(转)
  3. 如何理解数据的保密性与完整性?如何保证数据的保密性与完整性?
  4. 10月24日-吴恩达机器学习P72-77
  5. 在职学计算机,在职人员怎么参加院校开设的计算机在职研究生学习?
  6. 仿真物流仓库拣货车拣货
  7. String转JSONObject
  8. 苹果手机充电孔变松了_不久的将来,甚至下一代的苹果手机会取消充电接口吗?...
  9. pmsm simulink foc 仿真_汽车雷达场景仿真方法的研究
  10. Android通信方式