当前位置:网站首页>矩阵交换行列
矩阵交换行列
2022-04-23 14:13:00 【KissKernel】
##介绍一个关于矩阵交换行列的小问题
###那么我们来看问题吧。
输入描述:
第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
接下来一行输入k,表示要执行k次操作(1≤k≤5)。接下来有k行,每行包括一个字符t和两个数a和b,中间用空格格分隔,t代表需要执行的操作,当t为字符’r’时代表进行行变换,当t为字符’c’时代表进行列变换,a和b为需要互换的行或列(1≤a≤b≤n≤10,1≤a≤b≤m≤10)。
提示:当t为别的字符时不需要处理
输出描述:
输出n行m列,为矩阵交换后的结果。每个数后面有一个空格。
####很显然这个问题的关键就是如何实现行列的交换。那么下面我们来看一下如何交换行列,实际上很简单,就是类似于交换了两个变量。
#include<stdio.h>
int main()
{
int n,m,i,j,k;
int num1,num2;//要交换的两行或两列
char ch;//决定进行行变换还是列变换
int rek;//进行几次操作
int tmp;
scanf("%d %d",&n,&m);
int arr[n][m];
//输入矩阵
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}
scanf("%d",&k);
for(rek=0;rek<k;rek++)
{
scanf(" %c %d %d",&ch,&num1,&num2);
if(ch=='r')//进行行变换
{
for(j=0;j<m;j++)
{
tmp=arr[num1-1][j];//进行行变换的时候约定矩阵的行不变循环递归列然后交换即可
arr[num1-1][j]=arr[num2-1][j];
arr[num2-1][j]=tmp;
}
}
else if(ch=='c')//进行列变换
{
for(i=0;i<n;i++)
{
tmp=arr[i][num1-1];//同理进行列变换的时候约定列为需要交换的两列不变后,循环递归循环行即可。
arr[i][num1-1]=arr[i][num2-1];
arr[i][num2-1]=tmp;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
当然如果有更简单的方法也欢迎来和我交流这只是方法之一。
版权声明
本文为[KissKernel]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_62745420/article/details/124002194
边栏推荐
- Logback logger and root
- JumpServer
- JS progress bar, displaying the loading progress
- Five ways of using synchronized to remove clouds and fog are introduced
- 时间复杂度计算举例
- js 格式化时间
- Visio画拓扑图随记
- Operation instructions of star boundary automatic text translator (advanced version)
- 修改Firebase Emulators的默认侦听IP
- MySQL基础知识
猜你喜欢
随机推荐
js 键值判断
C语言知识点精细详解——初识C语言【1】——你不能不知的VS2022调试技巧及代码实操【2】
void*是怎样的存在?
微信小程序客服接入,实现发送和接收消息
Docker (V) MySQL installation
redis 模块编程中 key value的生命周期
贷款市场报价利率(LPR)与贷款基准利率介绍
顺序表的操作,你真的学会了吗?
SSH 通过跳板机连接远程主机
如何轻松做好一个项目
Wechat applet rotation map swiper
Nacos uses demo as configuration center (IV)
Docker篇 (五) MySQL的安装
常见存储类型和FTP主被动模式解析
Logback logger and root
Preview CSV file
返回数组排序后下标
OpenStack命令操作
On the problem of cliff growth of loss function in the process of training
Introduction to the use of countdownlatch and cyclicbarrier for inter thread control