首页 > 试题广场 >

C翻转

[编程题]C翻转
  • 热度指数:5717 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。 操作类型有四种:  1 2 表示:90度,顺时针,翻转4个数  1 3 表示:90度,顺时针,翻转9个数  2 2 表示:90度,逆时针,翻转4个数  2 3 表示:90度,逆时针,翻转9个数 

输入描述:
输入有多组数据。
每组输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。


输出描述:
输出翻转后的数组。
示例1

输入

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
1 3 1 1

输出

11 6 1 4 5
12 7 2 9 10
13 8 3 14 15
16 17 18 19 20
21 22 23 24 25
头像 健康快乐最重要
发表于 2020-03-16 11:04:46
矩阵旋转:顺时针旋转,把矩阵上下转换,然后沿主对角线交换逆时针旋转,把矩阵左右转换,然后沿主对角线交换 #include<iostream> #include<vector> using namespace std; int a[6][6],o1,o2,x,y; void 展开全文
头像 csyfZhang
发表于 2020-04-30 13:04:21
矩阵旋转的原理,20行代码足够解题~ https://blog.csdn.net/csyifanZhang/article/details/105859029↑更好的阅读体验 我们可以发现当顺时针90的时候 第一行的数据依次为第一列的倒序 第二行的数据依次为第二列的倒序 .... 我们可以发现当逆 展开全文
头像 在考古的小鱼干很有气魄
发表于 2023-03-15 15:03:39
#include <bits/stdc++.h> #define MAX 50 using namespace std; //上下反转 void Topfilp(int (&data)[6][6],int x,int y,int size){ for(int i = 0; i &l 展开全文
头像 牛客217671279号
发表于 2024-03-09 20:22:36
#include <iostream> using namespace std; int matrix[5][5]; void rotate(int a,int b,int x,int y){ int jz[b][b];//保存要翻转的矩阵 x--;//案例中下标都是从1 展开全文
头像 电专小胖墩
发表于 2024-02-16 20:39:03
观察几个旋转例子,就可以发现n*n矩阵有以下规律:逆时针旋转90度:第i行变为第n-i+1列顺时针旋转90度:第j列变为第n-j+1行若矩阵二维数组a从0开始使用,则有:逆时针旋转90度:a'[n-j-1][i]=a[i][j]顺时针旋转90度:a'[j][n-i-1]=a[i][j]对于有起始坐标 展开全文
头像 wlwj12138
发表于 2023-03-03 11:21:26
#include <bits/stdc++.h> using namespace std; int m[10][10],ba[10][10]; int a,b,x,y; int main() { for(int i=1; i<=5; i++){ for( 展开全文
头像 牛客32950103号
发表于 2024-03-23 14:35:20
import java.util.Arrays; import java.util.Scanner; public class Main { public static void swapMatrix(int[][] temp) { int len = temp.leng 展开全文
头像 marlin818
发表于 2024-03-16 19:50:32
#include <iostream> #include <cstring> using namespace std; const int N = 6, n = 5; int g[N][N]; int a, b, x, y; void turn( ){ int tm 展开全文
头像 学分
发表于 2020-04-13 23:29:54
完成得很不优雅,比较暴力 #include <stdio.h> int map[6][6]; int temp[6][6]; void copy() { for(int i=1; i<=5; i++) for(int j=1; j<=5; j++) 展开全文

问题信息

难度:
37条回答 5529浏览

热门推荐

通过挑战的用户

查看代码