首页 > 代码库 > 矩阵翻转:
矩阵翻转:
输入格式
每次程序运行时,首先在第一行输入 2个整数,分别对应题目描述中的 m和 n(1 <= m,n <= 100),两个整数之间用一个空格分隔。
接下来输入 m 行,每行包含 n个整数,每两个整数之间用一个空格分隔。
接下来输入一行,输入一个整数为1或0。当输入为1时对矩阵进行水平翻转;当输入为0时对矩阵进行竖直翻转。
输出格式
输出包括 m行,每行包含 n个整数,按要求输出翻转后的矩阵,每行任意两个整数之间用一个空格分隔,每行最后一个整数后面没有空格。
样例输入1
2 3
1 2 3
3 4 6
1
样例输出1
3 2 1
6 4 3
样例输入2
3 2
1 2
3 4
5 6
0
样例输出2
5 6
3 4
1 2
1 #include "stdafx.h" 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 int matrix[100][100]; //定义数组100*100 8 int m; //行 9 int n; //列 10 int i, j, k; //定义 11 cin >> m >> n; //输入行、列 12 13 for (i = 0; i<m; i++) //行 14 { 15 for (j = 0; j<n; j++) //列 16 { 17 cin >> matrix[i][j]; //输入数组 18 } 19 } 20 21 cin >> k; //输入0和1 22 23 if (k == 0) 24 { 25 for (i = m - 1; i >= 0; i--) //i从最大标递减1 26 { 27 for (j = 0; j<n; j++) 28 { 29 cout << matrix[i][j]; 30 if (j == n - 1) //当列为最大标时停止 31 { 32 break; 33 } 34 else 35 { 36 cout << " "; 37 } 38 } 39 cout << endl; 40 } 41 } 42 43 44 else if (k == 1) 45 { 46 for (i = 0; i<m; i++) 47 { 48 for (j = n - 1; j >= 0; j--) //j从最大标递减1 49 { 50 cout << matrix[i][j]; 51 if (j == 0) //当列为0时 停止 52 { 53 break; 54 } 55 else 56 { 57 cout << " "; 58 } 59 } 60 cout << endl; 61 } 62 } 63 return 0; 64 }
矩阵翻转:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。