知识点:理解对角线与熟悉二维数组的下标。

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。

触类旁通,相信大家在了解完一维数组后,对二维数组也有某种程度上的理解。

既然一位数组的下标是从0开始的,那么必然,二维数组也是一样。

但有区别的是,二维数组在一维数组原有的基础上增加了行和列,因此它的下标便从【0】变为【0】【0】,也就是一个元素的下标。所以,想要学会数组,就要能够灵活的使用下标。

陈述问题:计算二维数组主对角线元素和与辅对角线元素和。

分析问题:

  1. 只有行列数相等的情况下,才有对角线,也就是被称之为方阵。想要计算对角线元素和,就得找出在对角线上的元素。

  2. 引入图片进行分析

  3. 这是一张3*3的矩阵图。通过这张图,想必大家能够清晰的认知什么是主对角线什么是辅对角线;

  4. 对于规律也是显而易见,主对角线是从下标为【0】【0】的元素进行行列顺序递增的一条线;辅对角线是从【0】【2】到【2】【0】,它的规律就是行递增、列递减。但是这张图的数据并不是很能体现出。因此我们再引进一张辅对角线图:

  5. 右边数字便是二维数组辅对角线元素的下标,它的规律就是这样来的,行递增,列递减。

  6. 所以通过分析画图能使我们更好的理解一道题,在此希望大家养成这样的习惯,在编程的路上越走越远,并收获满满,共勉!

解决问题

代码演示

#include<iostream>
using namespace std;
int main()
{int arr[3][3];int sum = 0;int sum1 = 0;//用sizeof求出总列数int len = sizeof(arr[0]) / sizeof(arr[0][0])-1;cout << "请输入一个三行三列的二维数组:" << endl;//用for循环输入数组for (int i = 0; i < 3; i++)for (int j = 0; j < 3; j++)cin >> arr[i][j];//循环遍历数组for (int i = 0; i < 3; i++){for (int j = 0; j < 3; j++)cout << arr[i][j]<<" ";cout << endl;}//求主对角线元素和for (int i = 0; i < 3; i++){int j = i;sum += arr[i][j];}cout << "主对角线和: "<<sum<<endl;//求辅对角线元素和int i=0 ,j=len;while (true){sum1 += arr[i][j];i++;j--;if (j < 0 || i>2)break;}cout << "辅对角线和:" <<sum1<< endl;return 0;
}

请输入一个三行三列的二维数组:
1 2 3 4 5 6 9 8 7
1 2 3
4 5 6
9 8 7
主对角线和: 13
辅对角线和:17

分别计算二维数组主对角线元素与辅对角线元素的和。相关推荐

  1. java二维数组周边元素_求出二维数组主对角线、次对角线以及周边元素之和

    某个同学的题目,写了一下. 题目大概是这样的: 编写函数,求出二维数组主对角线.次对角线以及周边元素之和. 要求:二维数组的行数.列数.数组元素在main函数中由键盘输入. #include int ...

  2. 用C语言编写程序计算对角线的和,C语言入门级代码 计算二维数组主对角线上的元素之和...

    镇场诗:吾心为他人,此智不私藏.学术有小成,愿帮大家忙. // #include void main(){ int i=0,j=0; int a[4][4]={{1,2,3,4},{1,2,3,4}, ...

  3. C语言:编写一个函数,计算二维数组中的最大元素,数组以指针的方式传递

    /*编写一个函数,计算二维数组中的最大元素,数组以指针的方式传递*/ #include<stdio.h> #define N 4 #define M 3 int findmax(int ( ...

  4. android 一维数组遍历,$.each()循环遍历一维数组、二维数组、JSON数据和DOM元素

    本文介绍$.each()循环遍历一维数组.二维数组.JSON数据和DOM元素. 请注意在使用JQuery $.each()方法前,要首先引用jquery库文件. $.each()循环遍历一维数组 Jq ...

  5. Java黑皮书课后题第8章:8.28(严格相同的数组)如果两个二维数组m1和m2相应的元素相等的话,则认为它们是严格地相同的。编写一个方法,如果m1和m2是严格相同的话,返回true

    8.28(严格相同的数组)如果两个二维数组m1和m2相应的元素相等的话,则认为它们是严格地相同的.编写一个方法,如果m1和m2是严格相同的话,返回true 题目 题目描述与运行示例 破题 代码 题目 ...

  6. 二维数组主对角线与次对角线输出(C语言)

    源码如下: //二维数组主对角线与次对角线输出 #include <stdio.h> #include <stdlib.h> #define Nint main() {int ...

  7. python fun函数、求4x4整型数组的主对角线元素的和_求一个4×4的整型二维数组主对角线元素之和...

    展开全部 下面是Java语言编写一个计算4*4整型数组对角线636f70793231313335323631343130323136353331333431353338元素和的代码: import j ...

  8. sizeof计算二维数组的大小

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string>int main() {int a[3] ...

  9. c++计算二维数组的鞍点

    给定一个5×5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点. 鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值. 输入包含一个5行5列的矩阵. 如果存在鞍点, ...

最新文章

  1. 算法笔记-异或的使用、异或算法面试题、详细解析、异或的理解与其使用规律
  2. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、使用set_major_locator函数指定坐标轴主刻度数值倍数(MultipleLocator)
  3. for..in与for..of比较
  4. 从技术输出到产业赋能,网易云信走过的四年
  5. 超详细!上线一个机器学习项目你需要哪些准备?
  6. C++虚函数表的总结
  7. 面试题 异常的抛出和捕获
  8. Educational Codeforces Round 56 (Rated for Div. 2) F. Vasya and Array
  9. java孢子进化_孢子进化论游戏
  10. DEM数据获取、数据镶嵌、掩膜提取
  11. jquery 录屏_Fundebug录屏插件更新至0.6.0
  12. dz手机版空白显示index.php,discuz x3.3安装插件时页面出现空白有两种解决方法
  13. 使用了23年的Java要开始收费了?
  14. 第十六章: 请多一点
  15. 2022-05-14 Git三种合并分支Merge、Squash merge、Rebase merge
  16. oracle查看时间戳函数,oracle数据库实现获取时间戳的无参函数
  17. 自定义view实现阻尼效果的加载动画
  18. Activity的启动与管理之图记表查
  19. 环保行业数字化供应链系统助力企业加强智慧供应链建设,促进产业协同发展
  20. 一个水分子的质量是 3.0 * 10^(-6) g,一升水的质量是 950g输入水的升数(整数),输出这些水中包含多少个水分子

热门文章

  1. SQLSERVER 数据库或表修复(DBCC CHECKDB)
  2. 4.4 Kali与windows xp之间搭建TFTP服务
  3. html打造动画【系列2】- 可爱的蛙蛙表情
  4. 【无人机】无刷电调学习之路
  5. 3.1 埃拉托色尼筛选
  6. cz73 读取速度慢_CPU 访问硬盘速度很慢的原因找到了
  7. NVDIMM的应用场景
  8. 推荐10款 Java 程序员测试工具
  9. 2022/1/12(自闭半日游)
  10. 七月上(歌词背后的故事)