打印旋转矩阵
来源:互联网 发布:mac不能拷贝到移动硬盘 编辑:程序博客网 时间:2024/06/07 05:54
#include <iostream>using namespace std;/** 注意判断最后一圈的状况 1. 以圈的形式打印 需要确定圈数 通过规律发现最后一圈的起点的 x 坐标不大于 2 * 行数 或 y 坐标不大于 2 * 列数 2. 判断最后一圈的状况 ,肯能不是完整的一圈 **/void PrintMatrixInCircle(int (*numbers)[3], int columns, int rows, int start){ int starty = start; int endy = rows-1-start; // 结束的纵坐标 int startx = start; int endx = columns-1-start ;// 结束的横坐标 // 打印上面的行 for(int i = startx; i <= endx; i++){ cout<<numbers[startx][i]<<endl; } // 打印右面的一列 每一行的个数不为一 if(starty < endy){ for(int i = starty + 1; i <= endy; i++){ cout<<numbers[i][endx]<<endl; } } // 打印下面的行 每一行的个数不为1 每一列的个数不为一 if(startx < endx && startx < endy){ for(int i = endx-1; i >= startx; i--){ cout<<numbers[endy][i]<<endl; } } // 打印左面的一列 一行中列的个数至少为 2 if(startx < endx && starty < endy -1){ for(int i = endy-1; i >= starty +1; i--){ cout<<numbers[i][starty]<<endl; } }}void PrintMatrixClockwisely(int (*numbers)[3], int columns, int rows){ if(numbers == NULL || columns <= 0 || rows <=0) return; int start = 0; while (columns > start * 2 && rows > start * 2) { PrintMatrixInCircle(numbers,columns,rows,start); ++start; }}int main(int argc, const char * argv[]) { int a[1][3]={1,2,3}; PrintMatrixInCircle(a, 3, 1, 0); return 0;}
0 0
- 打印旋转矩阵
- 旋转打印矩阵
- 打印旋转矩阵
- 顺时针打印旋转打印矩阵
- 顺时针打印矩阵(旋转矩阵)
- 旋转打印矩阵、旋转存储矩阵、之字形打印矩阵
- Spiral Matrix:旋转打印矩阵
- [LeetCode] Spiral Matrix 旋转打印矩阵
- 常见面试算法之旋转打印矩阵
- 剑指offer17--旋转的方式打印矩阵
- 剑指offer18--旋转的方式打印矩阵
- 矩阵------顺时针打印矩阵+顺时针旋转矩阵+之字形打印矩阵(Java)
- 打印N*N旋转矩阵 的一个解法
- nowcoder-顺时针打印矩阵-模拟魔方逆时针旋转
- 旋转打印。
- 旋转打印
- 旋转矩阵
- 矩阵旋转
- IIS7网站看不到图片
- 第125课:Spark Streaming反思和启示:一切皆是流式处理及Spakr Streaming架构和运行机制
- C# linq连接SQL数据库
- 三次握手四次挥手
- jquery.form.js ajaxSubmit()使用案例
- 打印旋转矩阵
- Convolutional Neural Networks—overview(二)
- 深度学习Deeplearning4j eclipse 开发环境搭建教程
- 解耦模式--服务定位器
- 关于python 元类
- 关于数据序列化(4)自定义序列化的实现,支持常用集合框架
- redis3.2.8 sentinel模式一主两从高可用环境搭建测试
- ANSI X9.9 MAC算法介绍
- ReactNative打包-Android(简单实用)