矩阵顺时针旋转90°、180°、270°
来源:互联网 发布:ibm云计算 编辑:程序博客网 时间:2024/04/30 09:43
问题及代码:
/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:sdoj.cpp* 作 者:李楠* 完成日期:2015年2月7日* 版 本 号:v1.0** 问题描述:矩阵A在顺时针旋转一定角度后是否和矩阵B完全一样* 输入描述:有多组输入。 每组输入先输入一个整数N(N <= 50),代表矩阵的大小。 接下来的N行,每行有N个整数。代表矩阵A。 再接下来的N行N个整数代表矩阵B。* 程序输出:如果矩阵A在旋转一定角度后能和矩阵B完全一样则输出YES,否则输出NO。*/#include <iostream>using namespace std;int main(){ int first[51][51]; int second[51][51]; int third[51][51]; int four[51][51]; int five[51][51]; int i,j,k; int n,l=1; while(cin>>n&&n<=50&&n>1) { k=n-1; for(i=0;i<n;i++) for(j=0;j<n;j++) cin>>first[i][j]; for(i=0;i<n;i++) for(j=0;j<n;j++) cin>>third[i][j]; for(i=0;i<n;i++,k--)for(j=0;j<n;j++)second[j][k]=first[i][j]; k=n-1; for(i=0;i<n;i++,k--)for(j=0;j<n;j++)four[i][j]=first[j][k]; for(i=0;i<n;i++)for(j=0;j<n;j++)five[i][j]=first[n-1-i][n-1-j]; for(i=0;i<n;i++) for(j=0;j<n;j++) { if(second[i][j]!=third[i][j]&&four[i][j]!=third[i][j]&&five[i][j]!=third[i][j]) { l=0; break; } } if(l!=0) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0;}
运行结果:
知识点总结:
1.从行的角度看:
原矩阵的第一行,变成了目标矩阵的最后一列。
原矩阵的第二行,变成了目标矩阵的倒数第二列。
原矩阵的第三行,变成了目标矩阵的倒数第三列。
原矩阵的第四行,变成了目标矩阵的倒数第四列。
.......
2.从列的角度看:
原矩阵的第一列,变成了目标矩阵的第一行,数字的方向相反。
原矩阵的第二列,变成了目标矩阵的第二行,数字的方向相反。
原矩阵的第三列,变成了目标矩阵的第三行,数字的方向相反。
原矩阵的第四列,变成了目标矩阵的第四行,数字的方向相反。
...
由此可知,矩阵顺时针旋转90的结果,就是把行变成列,把列变成行。
同理,逆时针旋转90°也是这样…
顺时针旋转180°:
如:1 2 3
4 5 6
7 8 9
旋转后为:
9 8 7
6 5 4
3 2 1
可知:旋转后的顺序是原来的逆序,那么就好写了~~
学习心得:
好吧…矩阵旋转角度的我刚刚弄懂…
0 0
- 矩阵顺时针旋转90°、180°、270°
- 顺时针旋转矩阵90°的几种方法
- Python将图片顺时针旋转90°
- JS点击顺时针旋转90°
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 【矩阵】矩阵顺时针旋转
- 矩阵90°旋转
- 把矩阵顺时针旋转90度
- M*N矩阵顺时针旋转90度
- leecode 矩阵顺时针旋转90度
- Java实现矩阵顺时针旋转90度
- leetcode | 图片的旋转(顺时针90°) | Python
- 将一个二维数组顺时针旋转90°
- 矩阵顺时针旋转
- c语言二维数组与指针(课时4)
- hibernate学习:一对一单向外键映射
- 定时器setTimeout的应用---延时提示框
- Oracle使用游标为所有用户表添加主键语句
- HDU 1505 City Game (最大子矩形面积)
- 矩阵顺时针旋转90°、180°、270°
- YouCompleteMe的安装
- 技术宅必读!科幻经典!“蒸汽朋克”圣经!人类的命运,将在术狂飙中走向何方?
- hibernate学习:一对一双向外键关联
- 件和规哦IPUIYui突然热让他维特认为
- JSON学习笔记
- Git配置SSH,并Push到GitHub上的相关流程
- pm_notifier 接收待机事件
- 《算法导论》笔记(8) 动态规划、贪心法、摊还分析 简述