作业 二维数组-矩阵问题

对角线之和

题目描述

输入一个矩阵,输出右上-左下对角线上的数字和

输入

输入1个整数N。(N<10)表示矩阵有n行n列

输出

对角线的和

样例

输入复制

4

1 2 3 4

2 3 4 5

4 5 6 7

1 2 3 4

输出复制

14

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[100][100] = {0};
	int n;
	cin>>n;
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cin>>a[i][j];
		}
	}
	int sum = 0;
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			if(i == j)
			{
				sum = sum + a[i][j];
			}
		}
	}
	cout<<sum;
	return 0;
}

右转90度

题目描述

输入一个矩阵,输出他右转90度后的结果

输入

输入1个整数N。(N<10)表示矩阵有n行n列

输入n行,代表矩阵内的数据

输出

右转90度后的结果

样例

输入复制

3

1 2 3

4 5 6

7 8 9

输出复制

7 4 1

8 5 2

9 6 3

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[100][100] = {0};
	int n;
	cin>>n;
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cin>>a[i][j];
		}
	}
	int sum = 0;
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			if(i == j)
			{
				sum = sum + a[i][j];
			}
		}
	}
	cout<<sum;
	return 0;
}

矩阵交换行

题目描述

给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

入输

入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。

第6行包含两个整数m、n,以一个空格分开。(1 <= m,n <= 5)

输出

输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。

样例

样例输入

1 2 2 1 2

5 6 7 8 3

9 3 0 5 3

7 2 1 4 6

3 0 8 2 4

1 5

样例输出

3 0 8 2 4

5 6 7 8 3

9 3 0 5 3

7 2 1 4 6

1 2 2 1 2

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[100][100] = {0};
	for(int i = 0;i<5;i++)
	{
		for(int j = 0;j<5;j++)
		{
			cin>>a[i][j];
		}
	}
	int m,n;
	cin>>m>>n;
	for(int i = 0;i<5;i++)
	{
		for(int j = 0;j<2;j++)
		{
			int b[110] = a[m][j];
			a[m][n] = a[n][m];
			a[n][m] = b[110];
		}
	}
	for(int i = 0;i<5;i++)
	{
		for(int j = 0;j<2;j++)
		{
			cout<<a[i][j];
		}
	}
	return 0;
}

数字走向

题目描述

输入整数N,输出相应方阵。

输入

一个整数N。(0 < n < 10 )

输出

一个方阵,每个数字的场宽为3。

样例

输入复制

5

输出复制

25 24 23 22 21

20 19 18 17 16

15 14 13 12 11

10 9 8 7 6

5 4 3 2 1

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[100][100] = {0};
	int n;
	cin>>n;
	int m = n*n;
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			a[i][j] = m;
			m--;
		}
	}
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cout<<a[i][j]<<"   ";
		}
		cout<<endl;
	}
	
	return 0;
}

斜角I

题目描述

输入整数N,输出相应方阵。

输入

一个整数N。(0 < n < 10 )

输出

一个方阵,每个数字的场宽为3。

样例

输入复制

5

输出复制

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

5 6 7 8 9

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[100][100] = {0};
	int n;
	cin>>n;
	int m = 1;
	for(int i = 0;i<n;i++)
	{
		m = i;
		for(int j = 0;j<n;j++)
		{
			a[i][j] = m;
			m++;
		}
	}
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	
	return 0;
}

斜角II

题目描述

输入整数N,输出相应方阵。

输入

一个整数N。(0 < n < 10 )

输出

一个方阵,每个数字的场宽为3。

样例

输入复制

5

输出复制

5 4 3 2 1

4 4 3 2 1

3 3 3 2 1

2 2 2 2 1

1 1 1 1 1

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[100][100] = {0};
	int n;
	cin>>n;
	int m = n;
	for(int i = 0;i<n;i++)
	{
		m = m-i;
		for(int j = 0;j<n;j++)
		{
			a[i][j] = m;
			m--;
		}
	}
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	
	return 0;
}

斜角III

题目描述

输入整数N,输出相应方阵。

输入

一个整数N。(0 < n < 10 )

输出

一个方阵,每个数字的场宽为3。

样例

输入复制

5

输出复制

A B C D E

B C D E A

C D E A B

D E A B C

E A B C D

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[100][100] = {0};
	int n;
	cin>>n;
	int m = 1;
	for(int i = 0;i<n;i++)
	{
		m = i;
		for(int j = 0;j<n;j++)
		{
			a[i][j] = m;
			m++;
		}
	}
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	
	return 0;
}
相关推荐
Tak1Na1 分钟前
2024.9.19
算法
sjsjs1120 分钟前
【数据结构-扫描线】力扣57. 插入区间
数据结构·算法·leetcode
王哈哈嘻嘻噜噜22 分钟前
数据结构中线性表的定义和特点
数据结构·算法
一杯茶一道题42 分钟前
LeetCode 260. 只出现一次的数字 III
算法·leetcode
MogulNemenis43 分钟前
力扣415周赛
java·数据结构·算法·leetcode
Rense11 小时前
常用的基于无线射频( UWB)室内定位技术的原理与算法
算法
zzhnwpu1 小时前
代码随想录算法训练营第三七天| 动态规划:完全背包理论基础 518.零钱兑换II 377. 组合总和 Ⅳ 322. 零钱兑换
算法·leetcode·动态规划
一道秘制的小菜1 小时前
C++第十一节课 new和delete
开发语言·数据结构·c++·学习·算法
学不会lostfound1 小时前
一、机器学习算法与实践_03概率论与贝叶斯算法笔记
算法·机器学习·概率论·高斯贝叶斯
学地理的小胖砸1 小时前
【高分系列卫星简介——高分一号(GF-1)】
开发语言·数码相机·算法·遥感·地理信息