当前位置: 首页 > news >正文

sdut-程序设计基础Ⅰ-实验6-二维数组

7-1 sdut-C语言实验-求一个3*3矩阵对角线元素之和

给定一个3*3的矩阵,请你求出对角线元素之和。

输入格式:

按照行优先顺序输入一个3*3矩阵,每个矩阵元素均为整数。

输出格式:

从左下角到右上角这条对角线上的元素之和。

输入样例:

1 2 3

3 4 5

6 0 1

输出样例:

在这里给出相应的输出。例如:

13

实现代码:

#include<bits/stdc++.h> using namespace std; int a[5][5]; int main(){ for(int i=1;i<=3;i++){ for(int j=1;j<=3;j++){ cin>>a[i][j]; } } cout<<a[1][3]+a[2][2]+a[3][1]<<endl; return 0; }

7-2 求矩阵各行元素之和

本题要求编写程序,求一个给定的m×n矩阵各行元素之和。

输入格式:

输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间

以空格分隔。

输出格式:

每行输出对应矩阵行元素之和。

输入样例:

3 2

6 3

1 -8

3 12

输出样例:

9

-7

15

实现代码:

#include<bits/stdc++.h> using namespace std; int a[9][9]; int main(){ int m,n; cin>>m>>n; for(int i=1;i<=m;i++){ int sum=0; for(int j=1;j<=n;j++){ cin>>a[i][j]; sum=a[i][j]+sum; } cout<<sum<<endl; } return 0; }

7-3 sdut-C语言实验- 对称矩阵的判定

对于一个n行n列的矩阵,先输入矩阵的行数,再依次输入矩阵的每行元素,判断该矩阵是否为对称矩阵,若矩阵对称输出“Yes.",不对称输出"No."。

输入格式:

输入有多组,每一组第一行输入一个正整数N(N<=20),表示矩阵的行数(若N=0,表示输入结束)。
下面依次输入N行数据。

输出格式:

若矩阵对称输出“Yes.",不对称输出”No.”。

输入样例:

3

6 3 12

3 18 8

12 8 7

3

6 9 12

3 5 8

12 6 3

0

输出样例:

Yes.

No.

实现代码:

#include<bits/stdc++.h> using namespace std; int a[22][22]; int main(){ bool flag=0; int n; cin>>n; if(n==0) return 0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(a[i][j]!=a[j][i]){ flag=1; break; } } } if(flag==0) cout<<"Yes."<<endl; else cout<<"No."<<endl; return 0; }

7-4 sdut- C语言实验-矩阵转置

输入N*N的矩阵,输出它的转置矩阵。

输入格式:

第一行为整数N(1≤N≤100)。
接着是一个N*N的矩阵。

输出格式:

转置矩阵。

输入样例:

2

1 2

1 2

输出样例:

1 1

2 2

实现代码:

#include<bits/stdc++.h> using namespace std; int a[110][110]; int main(){ int n; cin>>n; int i,j; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[j][i]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n-1;j++){ cout<<a[i][j]<<" "; } cout<<a[i][n]<<endl; } return 0; }

7-5 sdut-C语言实验- 杨辉三角

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
上面的图形熟悉吗?它就是我们中学时候学过的杨辉三角。
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。

21世纪以来国外也逐渐承认这项成果属于中国,所以有些书上称这是“中国三角形”(Chinese triangle)。

其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页。

让我们开始做题吧!

输入格式:

输入数据包含多组测试数据。
每组测试数据的输入只有一个正整数n(1≤n≤30),表示将要输出的杨辉三角的层数。
输入以0结束。

输出格式:

对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

输入样例:

2

3

0

输出样例:

1

1 1

1

1 1

1 2 1

实现代码:

#include<bits/stdc++.h> using namespace std; int a[33][33]; int main(){ int n; while(cin>>n&&n!=0){ a[1][1]=1; a[2][1]=1; a[2][2]=1; for(int i=2;i<=n;i++){ for(int j=1;j<=i;j++){ a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=i-1;j++){ cout<<a[i][j]<<" "; } cout<<a[i][i]<<endl; } cout<<endl; } return 0; }

7-6 sdut-C语言实验- 鞍点计算

找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。同一行和同一列没有相同的数。

输入格式:

输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。

输出格式:

按下列格式输出鞍点:

Array[i][j]=x

其中,x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。

一个二维数组并不一定存在鞍点,此时请输出None。

我们保证不会出现两个鞍点的情况,比如:

3 3
1 2 3
1 2 3
3 6 8

输入样例:

3 3

1 2 3

4 5 6

7 8 9

输出样例:

Array[0][2]=3

实现代码:

#include<bits/stdc++.h> using namespace std; int a[11][11]; int b[11]; int c[11]; int main(){ int x; int m,n; int i,j; bool flag=0; cin>>m>>n; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cin>>a[i][j]; } } for(i=0;i<m;i++){ int max=0; for(j=0;j<n;j++){ if(a[i][j]>max){ max=a[i][j]; b[i]=j; c[i]=max; } } } for(int i=1;i<m;i++){ if(b[i]!=b[i-1]){ flag=1; break; } } int min=1e9; if(flag==0){ for(int i=0;i<m;i++){ if(c[i]<min){ min=c[i]; x=i; } } } if (flag==0) cout<<"Array["<<x<<"]["<<b[0]<<"]="<<min; else cout<<"None"; return 0; }

7-7 矩阵列平移

给定一个 n×n 的整数矩阵。对任一给定的正整数 k<n,我们将矩阵的偶数列的元素整体向下依次平移 1、……、k、1、……、k、…… 个位置,平移空出的位置用整数 x 补。你需要计算出结果矩阵的每一行元素的和。

输入格式:

输入第一行给出 3 个正整数:n(<100)、k(<n)、x(<100),分别如题面所述。

接下来 n 行,每行给出 n 个不超过 100 的正整数,为矩阵元素的值。数字间以空格分隔。

输出格式:

在一行中输出平移后第 1 到 n 行元素的和。数字间以 1 个空格分隔,行首尾不得有多余空格。

输入样例:

7 2 99

11 87 23 67 20 75 89

37 94 27 91 63 50 11

44 38 50 26 40 26 24

73 85 63 28 62 18 68

15 83 27 97 88 25 43

23 78 98 20 30 81 99

77 36 48 59 25 34 22

输出样例:

440 399 369 421 302 386 428

样例解读

需要平移的是第 2、4、6 列。给定 k=2,应该将这三列顺次整体向下平移 1、2、1 位(如果有更多列,就应该按照 1、2、1、2 …… 这个规律顺次向下平移),顶端的空位用 99 来填充。平移后的矩阵变成:

11 99 23 99 20 99 89

37 87 27 99 63 75 11

44 94 50 67 40 50 24

73 38 63 91 62 26 68

15 85 27 26 88 18 43

23 83 98 28 30 25 99

77 78 48 97 25 81 22

实现代码:

#include<bits/stdc++.h> using namespace std; int a[101][101]; int main(){ int m,n,k; int f=1; cin>>m>>n>>k; for(int i=1;i<=m;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } for(int j=2;j<=m;j=j+2){ for(int i=m;i>=f;i--){ a[i][j]=a[i-f][j]; } for(int i=1;i<=f;i++){ a[i][j]=k; } if(f<n) f++; else f=1; } for(int i=1;i<=m;i++){ int sum=0; for(int j=1;j<=m;j++){ sum=sum+a[i][j]; } if(i==1) cout<<sum; else cout<<" "<<sum; } return 0; }

7-8 方阵循环右移

本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。

输入格式:

输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。

输出格式:

按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。

输入样例:

2 3

1 2 3

4 5 6

7 8 9

输出样例:

2 3 1

5 6 4

8 9 7

实现代码:

#include<bits/stdc++.h> using namespace std; int a[9][9]; int main(){ int m,n,i; cin>>m>>n; m=m%n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } for(i=1;i<=n;i++){ for(int j=n-m+1;j<=n;j++){ cout<<a[i][j]<<" "; } for(int j=1;j<n-m+1;j++){ cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
http://www.cnnetsun.cn/news/1319269.html

相关文章:

  • 2026年降AI率工具哪个好?亲测这3款真的有效
  • windows基础操作
  • 学术速递 | ICCV 2025 Accepted Papers For Image Fusion
  • 【分享】[特殊字符]Wall[特殊字符]超强的免费安卓壁纸[特殊字符]支持自定义壁纸[特殊字符]什么类型的壁纸都有[特殊字符]
  • 关于Linux密码破解
  • 1/2L7812CV稳压芯片解析
  • 大模型分布式训练:DP、TP、PP 三大并行策略通俗讲解
  • 【杂谈】-人工智能蓬勃演进背后的隐性支撑体系
  • GLM-4V-9B图文理解SOP:标准操作流程图+异常处理决策树+FAQ手册
  • 从零配置Synplify Premier工程:手把手教你玩转FDC约束文件与安全设计(2025新版)
  • 立创EDA实战:基于FM8118芯片的小黄人新年主题加湿器设计与制作
  • 从TI杯D题手势识别装置出发:OpenMV与Arduino的嵌入式视觉开发指南
  • KVCache长上下文场景下性能与精度平衡的管理策略优化
  • Podman国内镜像加速终极指南:阿里云镜像源配置详解(2023最新版)
  • JWT 算法混淆攻击
  • YOLO26涨点改进| 1区Top 2025 | 全网独家创新、细节涨点改进篇| 3个月喜提一区YOLO真神!引入FSPPF漏斗空间金字塔池化模块,含多种组合创新点,助力小目标检测、图像分割高效涨点
  • 冯诺依曼与哈佛架构对比解析
  • STM32家庭环境监测系统:本地智能+MQTT云联+离线语音三重控制
  • 纯模拟电路实现的音频频谱可视化与机械摇摆系统
  • springboot党员之家服务系统 微信小程序毕业论文
  • Lingyuxiu MXJ LoRA算力优化案例:中小企业GPU资源利用率翻倍实践
  • 基于STM32的多模态智能LED照明系统设计
  • 使用Chainlit调用glm-4-9b-chat-1m注意事项:等待模型加载完成再提问
  • Phi-3 Forest Lab应用场景:开源项目维护者——ISSUE分类、PR描述润色、文档补全
  • Ostrakon-VL-8B零售创新:结合地理围栏,自动触发新开门店首周AI巡检
  • 【ISO14229_UDS诊断】-2.1-$27服务安全访问SecurityAccess实战解析
  • Qwen2.5-VL-7B-Instruct企业实操:与OA系统集成实现会议纪要图文自动归档
  • 解耦利器:深入CommunityToolkit.Mvvm中的Messenger消息机制
  • ESP32串口通信实战:按键控制数据发送
  • Unity PhysicsScene多场景物理仿真:精准预测碰撞与轨迹绘制实战