文章

4

粉丝

0

获赞

0

访问

2.2k

头像
C翻转 题解:旋转矩阵
P1376 北京邮电大学机试题
发布于2024年2月17日 22:01
阅读数 585

#include <iostream>
using namespace std;

int A[6][6];
int x,y;
int op1,op2;


void clockwise(int hang,int lie,int lon){
	int B[6][6] = {0};
	bool tag[6][6] = {0};
	for(int h = hang;h<hang+lon;h++){
		for(int l=lie;l<lie+lon;l++){
			B[hang + (l-lie)][lie+lon-1- (h-hang)] = A[h][l];
//			cout << hang + (l-lie) <<" " <<lie+lon-1- (h-hang) <<"         "<<h<<" "<<l<<endl;
			tag[h][l] = 1;
		}
		
	}
	for(int i=1;i<=5;i++){
		for(int j = 1;j<=5;j++){
			if(tag[i][j] == 1){
				A[i][j] = B[i][j];
			}
		}
	}
	
}
void anticlockwise(int hang,int lie,int lon){
	int B[6][6] = {0};
	bool tag[6][6] = {0};
	for(int h = hang;h<hang+lon;h++){
		for(int l=lie;l<lie+lon;l++){
			B[hang+lon-1-(l-lie)][lie+(h-hang)] = A[h][l];
			tag[h][l] = 1;
		}
	}
	for(int i=1;i<=5;i++){
		for(int j = 1;j<=5;j++){
			if(tag[i][j] == 1){
				A[i][j] = B[i][j];
			}
		}
	}
	
}
void debug(){
...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发