20250102-C11-二维数组
原题链接:33673.徐沐瑶专属笔记C++2025-01-03 10:23:03
发布于:江苏
1. 什么是二维数组?
上述二维数组可以理解为4行5列的二维数组。
2. 二维数组实例
实例1. A7832.矩阵输入输出
#include<iostream>
using namespace std;
int main(){
int a[105][105]={}; //定义二维数组并且初始化为0
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){ //n行
for(int j=1;j<=m;j++){ //m列
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j]<<' ';
}
cout<<endl;
}
}
实例2. A30726.【二维数组】【入门】5行3列的二维数组输出第3行
#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int main(){
for(int i=0;i<5;i++){
for(int j=0;j<3 ;j++){
cin>>a[i][j];
}
}
for(int j=0;j<3;j++){
cout<<a[2][j]<<' ';
}
return 0;
}
实例3. A30728.【二维数组】【入门】输出二维数组的某一行
#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int n,m,k;
int main(){
cin>>n>>m>>k;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int j=0;j<m;j++){
cout<<a[k-1][j]<<' ';
}
return 0;
}
实例4. A30729.【二维数组】【入门】二维数组列输出
#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int n,m,k;
int main(){
cin>>n>>m>>k;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
cout<<a[i][k-1]<<endl;
}
return 0;
}
实例5. A30731.【二维数组】【入门】交换行
不用真的去交换对应的行, 只需要在输出的时候进行有选择的输出即可.
#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int n,m;
int main(){
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
cin>>a[i][j];
}
}
cin>>n>>m;
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
if(i==n) cout<<a[m][j]<<' ';
else if(i==m) cout<<a[n][j]<<' ';
else cout<<a[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
3. 杨辉三角
A30912.【二维数组】杨辉三角1
//#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int a[105][105], n;
int main() {
cin >> n;
// 1.定义二维数组,并且初始化为 1
for (int i=1; i<=n; i++)
a[i][i] = a[i][1] = 1;
// 2.从第3行,第2列开始推导
for (int i=3; i<=n; i++)
for (int j=2; j<=i; j++)
a[i][j] = a[i-1][j] + a[i-1][j-1];
// 3.输出
for(int i=1; i<=n; i++){
for (int j=1; j<=i; j++){
cout << a[i][j] <<" ";
}
cout<<endl;
}
return 0;
}
4.对角线元素
A30264.【二维数组】对角线加10
#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int main(){
for(int i=1;i<=6;i++){
for(int j=1;j<=6;j++)
cin>>a[i][j];
}
for(int i=1;i<=6;i++){
for(int j=1;j<=6;j++){
if(i==j || i+j==7) a[i][j]+=10;
}
}
for(int i=1;i<=6;i++){
for(int j=1;j<=6;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个