二维数组:K13187 点兵点将3

这是一道编程题,要求实现根据给定的输入,模拟体育课上的卡片数字交换过程。给定每个学生卡片上的数字以及需要交换的两个位置,输出交换后的数字矩阵。程序使用C++编写,通过读取输入,进行交换操作,然后输出交换后的矩阵。
摘要由CSDN通过智能技术生成

题目描述

体育课又来啦,今天的体育课,科丁博士带大家做的是“点兵点将3.0”;首先老师会给每位同学发一张卡片,每张卡片上都有一个数字(数字不会超过int的最大值),然后让大家按m行n列的阵型站好(2<=m,n<=100),体育老师会随机报出两个位置,然后对应的两位同学交换手中的卡片

现在给出每位同学卡片中的数字,并给出体育老师报出的两个同学的位置,求交换后每位同学手中数字

输入格式

第1行:两个整数:m和n,第一个数表示行数,第二个数表示列数

第2~m+1行:每行n个整数,表示每个同学卡片上的数字
第m+2行:两个整数x1,y1,表示老师报出的第一位同学所在的行和列

第m+3行:两个整数x2,y2,表示老师报出的第二位同学所在的行和列

输出格式

输出为m行n列的矩阵,对应交换后的每位同学手中的数字

输入输出样列

输入样例1:复制

 
5 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 4 3 2 1

输出样例1:复制

 
1 2 3 4 5 18 7 8 9 10 11 12 13 14 15 16 17 6 19 20 21 22 23 24 25

说明

第一位同学站的位置:第一行第一列
样例说明:样例中交换的是第4行第3列 与 第2行第1列的数字,即交换的是:18与6

【耗时限制】1000ms 【内存限制】128MB

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值