矩阵顺时针旋转90°、180°、270°
问题及代码:
/*
* 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;elsecout<<"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
可知:旋转后的顺序是原来的逆序,那么就好写了~~
学习心得:
好吧…矩阵旋转角度的我刚刚弄懂…
矩阵顺时针旋转90°、180°、270°相关推荐
- 编写程序python、实现将矩阵顺时针旋转90°_Java实现矩阵顺时针旋转90度的示例...
实现矩阵的转置较为容易,只需要将纵横下标互换即可.实现矩阵旋转稍微麻烦一点. 解题思路: 矩阵转换90度,则原矩阵的纵下标转变为新矩阵的横下标:原矩阵的横下标转变为新矩阵的纵下标,并且顺序相反. pu ...
- 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题
利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 参考文章: (1)利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 (2)https://www.cnblog ...
- 矩阵顺时针旋转90度
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! ---- ...
- 通过transpose和flip实现图像旋转90/180/270度
在fbc_cv库中,提供了对图像进行任意角度旋转的函数rotate,其实内部也是调用了仿射变换函数warpAffine.如果图像仅是进行90度倍数的旋转,是没有必要用warpAffine函数的.这里通 ...
- python将矩阵顺时针旋转90度_在Python中将方形矩阵逆时针旋转90度的程序
假设我们有一个正方形矩阵,我们必须将其逆时针旋转90度.147 258 369 那么输出将是789 456 1个23 为了解决这个问题,我们将遵循以下步骤-如果矩阵为空,则返回一个空白列表 n:=矩阵 ...
- python将矩阵顺时针旋转90度_python实现顺时针打印矩阵
面试题之顺时针打印矩阵,Python实现,供大家参考,具体内容如下 问题描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,输入如下矩阵: 则依次打印出数字1,2,3,4,8, ...
- python将矩阵顺时针旋转90度_python 二维数组90度旋转的方法
如下所示: #!/usr/bin/env python #-*- coding: utf-8 -*- """ [0, 1, 2, 3] [0, 1, 2, 3] [0, ...
- python顺时针旋转_python——n*n矩阵顺时针旋转90度
先设计思路,以4*4矩阵为例,不难发现其实如果把下列同色的行和列交换,其实就能达到目标 不难发现,实现有如下规律: i = 0 j = 1,2,3 i = 1 j = 2 ,3 i= 2 j = 3 ...
- 小程序--实现图片点击旋转90,180,270度
var _animation; // 动画实体 var _animationIndex = 0; // 动画执行次数index(当前执行了多少次) var _animationIntervalId = ...
最新文章
- LaTex中的documentclass{type}应该填什么
- 数量庞大!中国成长型AI企业研究报告
- BinaryReader 、BinaryWriter是方便用二进制方式读写int,double,string之类的数据
- 快速幂,矩阵乘法,矩阵快速幂
- MATLAB灰度级数为1,图像处理 – 在matlab中更改灰度图像中的灰度级数
- Delphi学习之函数 ⑨汉字拼音功能函数
- Decorator 装饰(结构型)
- [Vue CLI 3] 环境变量和模式配置实践与源码分析
- 软件系统换服务器地址,软件系统换服务器地址
- paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out
- ideahtml里面没有提示_微信聊天时提示请注意核实对方身份谨防诈骗什么原因?怎么解决?...
- ESP32 开发笔记(四)LVGL控件学习 Roller 滑动选择控件
- java 读mdb,使用Java / Jackcess从加密的Access .mdb中读取
- 计算机大赛教学辅助课件,职业教育:机械类一等奖作品《识读组合体视图教学辅助》PPT课件.ppt...
- Go语言path is relative, but relative import paths are not supported in module mode
- 【二分查找】详细讲解(C语言折半查找)
- 采用云原生架构:架构演进和成熟度
- Python中的easy_install安装
- java设计模式之模板
- 微信小程序实现登录获取头像昵称
热门文章
- 【计算机网络-带宽与吞吐量】
- KDZD地埋线短路漏电试扎器
- Plu2006即将开赛,参赛选手名单公布
- deepin入坑前必读(懊悔篇)
- html css精灵,CSS spirit /css精灵
- 一线城市广州:全日制本科生参保即可落户
- Shell系统学习之什么是Shell
- springboot2.0优雅关闭
- 高中信息技术python及答案_高中信息技术《Python语言》模块试卷.doc
- 【图像超分辨率】Accurate Image Super-Resolution Using Very Deep Convolutional Networks