C++矩阵的对角线之和
下面我会围绕奇数型矩阵和偶数型矩阵来展开。
什么是奇数型矩阵?
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++矩阵的对角线之和相关推荐
- C语言-求矩阵的对角线之和
其实这种题往往规律性很强,用笔画一画相信都能发现突破口,下面我就讲最简单的方法去求解. 先画图 无非两种情况,n*n,n要么是双数,即对2求余等于0,要么是单数,对2求余不为0:单数和双数的区别在于 ...
- Matlab Tricks(十三)—— 提取矩阵的对角线元素
>> A = randi(3, 3)A =3 3 11 2 23 3 3 1. diag(A)(尽可以查看,不可以修改) >> diag(A) ans =323 2. 进行索引 ...
- 置换矩阵的应用:逆矩阵的对角线元素求法
置换矩阵是一种非常实用的数学工具, 其确切定义如下: 一个正方矩阵,若其每一行和每一列有且仅有一个非零元素111,则称之为置换矩阵. 顾名思义,其作用是: 当将某一矩阵左乘置换矩阵,相当于将矩阵的行重 ...
- 《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 ...
- c语言百日刷题第四天
目录 1.用筛选法求100之内的素数 2.用选择法对10个整数排序 3.求一个3*3的整型矩阵的对角线之和 4.有一个已排序好的数组,要求输入一个数后,按原来排序的规律将它插入数组中 5.将一个数组中 ...
- python课程设计矩阵对角线之和_Python二维数组实现求出3*3矩阵对角线元素的和示例...
Python二维数组实现求出3*3矩阵对角线元素的和示例 题目:求一个3*3矩阵对角线元素之和. 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出. def two_dime ...
- Java实现矩阵对角线元素之和
一.题目 定义一个二维数组用于存储一个 矩阵的元素值,并求出这个矩阵的对角线元素之和,然后输出计算结果. 二.分析 左对角线:行列相等,即i == j 右对角线:行列相加等于行数减一,即 i+j == ...
- arcgisengine计算线要素总长度_弱电监控工程报价清单中,线材及辅材该如何计算?...
在做方案过程中,经常遇到线材配置如:线材长度计算.线材选型.管槽选型等,根据以上问题现整理出关于线材配置方法. 一.线缆长度的估算 线缆长度估算分为有图纸和没图纸两种情况: 1.有图纸情况 在图纸上找 ...
- 线性代数的本质(3Blue1Brown线代笔记)
01:向量究竟是什么? 从物理专业学生视角看,向量是空间中的箭头,向量可在空间中自由落脚,决定向量的是它的长度和所指的方向. 从计算机专业学生的视角看,向量是有序的数字列表,例如研究房价,你会用二维向 ...
最新文章
- Python-map、reduce、filter、sorted函数
- 盛大 牛人 blog
- Dubbo-入门指南+实例
- 使用 core dump 查找程序遇到严重问题退出的原因
- java取number长度_Java中常用方法(NumberMath)
- Window (Standard IO)
- Linq表达式和Lambda表达式用法对比
- 用Sass创建MetaFizzy效果
- ubuntu虚拟机和主机互ping及secureCRT使用
- ios 自定义圆环进度条
- 《程序员面试宝典》精华 底层部分
- Mac下 javac java 进行编译和运行含有包路径及引入jar包的类
- MySQL编译安装时常见错误分析
- python post请求实例_Python post请求实现代码实例
- 广东南方地形地籍成图软件CASS10.1十大新亮点(资源下载在文尾)
- Cisco iOS的两种配置文件(思科命令的保存)
- 【C语言】C语言实现泛型编程
- 一个便捷的在线取色器工具
- 20180423-B · Australian Salaries by Gender · ggplot2 ggalt geom_dumbbell 棒棒糖图 哑铃图 · R 语言数据可视化 案例 源码
- AA Master考试认证笔记