顺时针打印矩阵
来源:互联网 发布:gta5捏脸数据女黑寡妇 编辑:程序博客网 时间:2024/06/13 07:28
#include <iostream>#include <vector>using namespace std;void print_circle(vector<vector<int> >arr,int cols,int rows,int start);void print_wisely(vector<vector<int> >arr,int cols,int rows);int main(){ int col,row; while(cin>>col>>row) { vector<vector<int> >arr(row); for(int i=0;i<arr.size();++i) { arr[i].resize(col); } for(int i=0;i<row;++i) { for(int j=0;j<col;++j) { cin>>arr[i][j]; } } print_wisely(arr,col,row); } return 0;}void print_wisely(vector<vector<int> >arr,int cols,int rows){ if(arr.size()==0||cols<=0||rows<=0) return ; int start = 0; while(cols>start*2&&rows>start*2) { print_circle(arr,cols,rows,start); ++start; }}void print_circle(vector<vector<int> >arr,int cols,int rows,int start){ int endX = cols-start-1; int endY = rows-start-1; for(int i=start;i<=endX;++i) { cout<<arr[start][i]<<" "; } if(start<endY) { for(int i=start+1;i<=endY;++i) { cout<<arr[i][endX]<<" "; } } if(start<endX&&start<endY) { for(int i=endX-1;i>=start;--i) { cout<<arr[endY][i]<<" "; } } if(start<endX&&start<endY-1) { for(int i=endY-1;i>start;--i)//第一个数字不再打印 { cout<<arr[i][start]<<" "; } } //cout<<endl;}
阅读全文
1 0
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 矩阵顺时针打印
- 顺时针打印矩阵
- 顺时针打印矩阵[算法]
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 二叉树和为某一值的路径
- 013--swift计算型属性和懒加载的区别
- 脑洞大开 [c++][重启病毒]
- 第二课,数据类型与变量,常量
- 图片二次采样和按质量压缩
- 顺时针打印矩阵
- web.xml文件详解
- mysql如何处理无效的数据值
- webService开发
- 始终因消费者而进步——极米无屏电视的成功之道
- Java对redis的基本操作
- Ubuntu 16.04 无法安装.deb解决方案
- php调用js
- first