矩阵翻转
来源:互联网 发布:淘宝如何找相似图片 编辑:程序博客网 时间:2024/05/17 03:18
晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的。于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分。
输入格式
输入第一行包括由空格分开的整数 M,N,TT 的值为 0 或1。其中 M 和 N 分别表示待处理矩阵的行数与列数,T为 0 时表示左右翻转,为 1 时表示上下翻转。
之后的 MM 行,每行包括由空格分隔的 NN 个整数,依次为输入矩阵的每一行的数据。
输出格式
输出包括 MM 行 NN 列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵。
样例输入
4 4 11 2 3 45 6 7 89 0 1 23 4 5 6
样例输出
3 4 5 6 9 0 1 2 5 6 7 8 1 2 3 4
#include <iostream>using namespace std;int main(){ int size_row,size_column,T; int r,c; cin>>size_row; cin>>size_column; cin>>T; int **matrix=new int * [size_row]; for(r=0;r<size_row;r++) matrix[r]=new int [size_column]; for(r=0;r<size_row;r++) for(c=0;c<size_column;c++) cin>>matrix[r][c]; int m=size_row,n=size_column; int i,j; int transfer; if(T==1) { for(j=0;j<=m-1;j++) { for(i=1;i<=n/2;i++) { transfer=matrix[i-1][j]; matrix[i-1][j]=matrix[m-i][j]; matrix[m-i][j]=transfer; } } } else { for(i=0;i<=m-1;i++) { for(j=1;j<=n/2;j++) { transfer=matrix[i][j-1]; matrix[i][j-1]=matrix[i][n-j]; matrix[i][n-j]=transfer; } } } for(r=0;r<size_row;r++) { for(c=0;c<size_column;c++) { cout<<matrix[r][c]<<" "; } cout<<endl; } for(r=0;r<r<size_row;r++) delete[] matrix[r]; delete[] matrix; return 0;}
上面是自己最初写的,开始还想使用自定义函数,但是由于对二维数组作为形参的方法还没掌握,故采用一个函数的形式。运行可以出来结果,但会报错:
段错误,也就是segmentfault, 可能您的代码出现栈溢出或非法指针访问。
调试通过的代码如下:
#include <iostream>using namespace std;int main(){ int size_row,size_column,T; int r,c; cin>>size_row; cin>>size_column; cin>>T; int matrix[200][200]; for(r=0;r<size_row;r++) for(c=0;c<size_column;c++) cin>>matrix[r][c]; int m=size_row,n=size_column; int i,j; int transfer; if(T==1) { for(j=0;j<=n-1;j++) { for(i=1;i<=m/2;i++) { transfer=matrix[i-1][j]; matrix[i-1][j]=matrix[m-i][j]; matrix[m-i][j]=transfer; } } } else if (T==0) { for(i=0;i<=m-1;i++) { for(j=1;j<=n/2;j++) { transfer=matrix[i][j-1]; matrix[i][j-1]=matrix[i][n-j]; matrix[i][n-j]=transfer; } } } else cout<<"ERROR"<<endl; for(r=0;r<size_row;r++) { for(c=0;c<size_column;c++) { cout<<matrix[r][c]<<" "; } cout<<endl; } return 0;}
阅读全文
0 0
- 矩阵翻转
- 矩阵翻转
- 矩阵翻转
- 矩阵翻转
- 翻转矩阵
- 矩阵翻转
- 矩阵翻转
- 【C】矩阵翻转(上下翻转、左右翻转)
- 矩阵翻转90度
- 矩阵翻转算法
- 矩阵的翻转
- 计蒜客005-矩阵翻转
- 矩阵翻转 贪心 水题
- 矩阵翻转硬币 蓝桥杯
- 1049 -- 矩阵翻转
- fliplr--矩阵左右翻转
- flipud--矩阵上下翻转
- ACM--矩阵翻转
- 数据结构实验之查找七:线性之哈希表
- RESTful API 设计最佳实践
- Appium自动化webdriver.Rmemote中地址来源
- 用Python优雅的做数据分析
- Vuejs全家桶系列(八)--- 组件
- 矩阵翻转
- Eclipse安装反编译插件JadClipse
- 10_c++再论构造函数
- 全字母句
- html5新增标签及属性
- 【整理】Android屏幕适配相关
- servlet单例多线程
- Ubuntu 安装curl
- JQuery 对 Select option 的操作(转)