环形打印矩阵
来源:互联网 发布:词典推荐 知乎 魏 编辑:程序博客网 时间:2024/06/05 09:55
环形打印矩阵,如下图所示:
法一:
边界条件的基本思想如下:
这种方法当遇到奇数阶数的矩阵时,其中心元素由于边界条件而不能放到正确的位置,因此需要单独对这种情况进行判断。
#include<stdio.h>#include<vector>int main(){printf("请输入矩阵的阶数(小于0则退出):\n");int n;scanf("%d",&n);while(n>0){std::vector<int>v(n*n);//d=0:right;d=1:down;d=2:left;d=3:upfor(int col=n,row=n,i=1,loc=0,d=0,j;i<=n*n;d++)if(col==1&&row==1)//矩阵中心的元素{v[loc]=i;i++;}elseswitch(d%4){case 0:for(j=loc;j<loc+col-1;j++,i++)v[j]=i;loc=j;break;case 1:for(j=loc;j<loc+n*(row-1);j+=n,i++)v[j]=i;loc=j;break;case 2:for(j=loc;j>loc-col+1;j--,i++)v[j]=i;loc=j;col-=2;break;case 3:for(j=loc;j>loc-n*(row-1);j-=n,i++)v[j]=i;loc=j+n+1;row-=2;break;}for(int i=0;i<n;i++){for(int j=0;j<n;j++)printf("%-4d ",v[i*n+j]);//有-表示左对齐输出,如省略表示右对齐输出;0:有0表示指定空位填0,如省略表示指定空位不填;m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。putchar('\n');}printf("\n请输入矩阵的阶数(小于0则退出):\n");scanf("%d",&n);}}
法二只是边界条件变了,这样就不用单独判断矩阵中心元素了
边界条件的基本思想如下:
#include<stdio.h>#include<vector>int main(){printf("请输入矩阵的阶数(小于0则退出):\n");int n;scanf("%d",&n);while(n>0){std::vector<int>v(n*n);//d=0:right;d=1:down;d=2:left;d=3:upfor(int col=n,row=n,i=1,loc=0,d=0,j;i<=n*n;d++)switch(d%4){case 0:for(j=loc;j<loc+col;j++,i++)v[j]=i;loc=j-1;break;case 1:for(j=loc+n;j<loc+n*row;j+=n,i++)v[j]=i;loc=j-n;break;case 2:for(j=loc-1;j>loc-col;j--,i++)v[j]=i;loc=j+1;col-=2;break;case 3:for(j=loc-n;j>loc-n*(row-1);j-=n,i++)v[j]=i;loc=j+n+1;row-=2;break;}for(int i=0;i<n;i++){for(int j=0;j<n;j++)printf("%-4d ",v[i*n+j]);putchar('\n');}printf("\n请输入矩阵的阶数(小于0则退出):\n");scanf("%d",&n);}}
阅读全文
0 0
- 打印环形数字矩阵
- 环形打印矩阵
- 环形打印矩阵
- 环形矩阵
- 环形矩阵
- 打印回型数组 回型矩阵 环形数组
- 打印回型数组-回型矩阵-环形数组
- 打印环形数字矩阵,顺时针,边计算边打印,时间复杂度O(n^2)
- 打印数字环形图案
- 1-环形矩阵
- 06 环形矩阵
- 环形(蛇形)矩阵
- 环形蛇形矩阵
- java环形打印二维数组
- C++环形矩阵填充实现
- 打印矩阵
- 打印矩阵
- 二维数组环形打印,亲自调试
- Ionic WebStrom Error: Cannot read property 'replace' of undefined
- 关于javascript-prototype继承
- CSU1830(数据很多时,怎么用dijkstra算法处理)
- Java虚拟机体系结构深入研究总结
- Appium的定位方法
- 环形打印矩阵
- 移动开发框架选型
- (五)展示界面数据
- 最长递增子序列
- java中list、set和map 的区别
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- Android5.0特性
- Insertion Sort List问题及解法
- ios cookie概念介绍