绿色大气网站模板,四川任命33名干部最新,flask网站开发,怎样建立自己网站视频一维数组不想更了#xff0c;弄点二维数组#xff01; 1.对角线 已知一个6*6的矩阵#xff0c;把矩阵两条对角线上的元素加上10#xff0c;然后输出这个新矩阵。 思路
题目简单#xff0c;6*636#xff0c;可以得知有36个元素。数组就定义成a[7][7]#xff0c;难点在与… 一维数组不想更了弄点二维数组 1.对角线 已知一个6*6的矩阵把矩阵两条对角线上的元素加上10然后输出这个新矩阵。 思路
题目简单6*636可以得知有36个元素。数组就定义成a[7][7]难点在与如何找出对角线上的元素。可以画图分析 通过观察不难发现元素1可以表示为ij那么对角线的特征就找到了是循环ij的时候就a[i][j]10对角线还有一个特征ij7当这两个都出现的或者只出现一个特性的都是对角线上的元素。 stew()函数
在做一些特殊题目是可能要用到stew()函数stew函数有什么用呢它的作用是控制输出长宽可以用它来控制输出字符与空格在二维数组的题目里经常用例如稀疏矩阵杨辉三角.....都会用到在字符串和字符数组中也十分常用在这里我们不做深入探究毕竟它在打竞赛时很少出现当然如果你想要用stew()函数就要声明该库
#includeiomanip
AC代码 #includeiostream
#includeiomanip
using namespace std;//先声名一下我是觉得可有可无
int a[7][7];
int main(){for(int i1;i6;i){for(int j1;j6;j){cina[i][j];}}for(int i1;i6;i){for(int j1;j6;j){if(ij7||ij){a[i][j]10;}}}for(int i1;i6;i){for(int j1;j6;j){coutstew(5)a[i][j];coutendl;}}return 0;
} 2.稀疏矩阵 大部分元素是0的矩阵称为稀疏矩阵假设有k个非0元素则可把稀疏矩阵用k*3的矩阵简记之其中第一列是行号第二列是列号第三列是该行该下列的非元素的值。如 0 0 0 5 简记成1 4 5 //第1行第4列有个数是5 0 2 0 0 2 2 2 //第2行第2列有个数是2 0 1 0 0 3 2 1 //第3行第2列有个数是1 思路
我们可以定义两个数组一个a[4][6],一个b[102][4]。先读入a数组然后我们可以定义一个变量k。当找到非0值的时候就把k累加起来。那么k开始时是0现在加1表示第一行。每次累加都代表第几行。
总之这题就是要找到非零值并且记忆位置将原始矩阵存入a数组再将转化后的矩阵传入b数组
AC代码 #includeiostream
#includeiomanip
coust int n3,m5;
int a[n1][m1],b[101][4],k0;
using namespace std;
int main(){for(int i1;in;i){for(int j1;jm;j){cina[i][j];}}for(int i1;in;i){for(int j1;jm;j){if(a[i][j]!0){k;b[k][1]i;//i是行号b[k][2]j;//j是列号b[k][3]a[i]a[j];//元素} }}for(int i1;ik;i){for(int j1;j3;j){coutstew(3)a[i][j];coutendl;}}return 0;
}