信奥复习——图像旋转

题目

思路


1 2 3 
4 5 6
7 8 9

转化成
7 4 1
8 5 2
9 6 3

如果正常for循环输出

1 2 3 
4 5 6
7 8 9
的话,不难想象1是在a[0][0] 2是在a[0][1] 3是在a[0][2]
但是旋转后1是在a[0][2],2是在a[1][2],3是在a[2][2]
从上述转换我们可以看出旋转前123是在同一行,旋转后123是在同一列

所以输出旋转后的话 ,是不是先要将i和j换个位置,如果外循环是i内循环的j,就变成外循环是j内循环是i

主要代码

全部代码

#include <iostream>
using namespace std;
int main() {
	int m, n; //m 为列,n为行
	cin >> m >> n;
	int a[m][n];
	//输入
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < n; j++) {
			cin >> a[i][j];
		}
	}
	//输出
	for (int i = 0; i < m; i++) {
		for (int j = n; j >= 0; j--) {
			cout << a[j][i];
		}
		cout << "\n";
	}
}

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值