按照某种方式打印矩阵
来源:互联网 发布:致远软件成都分公司 编辑:程序博客网 时间:2024/05/17 01:44
1.按照矩形方式螺旋打印
int a[5][5]={1, 2, 3 , 4, 5,
16, 17, 18, 19, 6,
15 , 24, 25 , 20, 7,
14 , 23 , 22, 21, 8,
13, 12 , 11, 10, 9};
int loop=3;
int x_=1;
int y_=5;
for(int i=0;i<loop;i++)
{
for(int x=x_-1;x<y_;x++)
{
cout<<a[x_-1][x]<<endl;
}
for(int x=x_+1-1;x<y_;x++)
{
cout<<a[x][y_-1]<<endl;
}
for(int x=y_-1-1;x>x_-1-1;x--)
{
cout<<a[y_-1][x]<<endl;
}
for(int x=y_-1-1;x>x_-1;x--)
{
cout<<a[x][x_-1]<<endl;
}
x_++;
y_--;
}
2.按照zig-zag方式打印矩阵
int s=0;
int squa=25;
int i=0;
int j=0;
int dir=0;
int N=5;
while(s<squa)
{
//数组赋值
cout<< a[i][j]<<endl;
//设置下一点(位置和方向)
switch(dir)
{
case 0:
//位置
j++;
//行进方向
if(0==i)
dir=1;
if(N-1==i)
dir=3;
break;
case 1:
i++;
j--;
if(N-1==i)
dir=0;
else if(0==j)
dir=2;
break;
case 2:
i++;
if(0==j)
dir=3;
if(N-1==j)
dir=1;
break;
case 3:
i--;
j++;
if(N-1==j)
dir=2;
else if(0==i)
dir=0;
break;
default:
break;
}
s++;
}
3.按照上三角方式打印矩阵
int main(){int abtra[22][22]={0};int n;scanf("%d",&n);int t=n;for(int i=1; i<=n; ++i){ for(int j=1; j<=t; ++j)abtra[i][j]=-1;--t;}int nn=0;for(int i=1;i<=n;++i)nn+=i;int k=1;int i=1,j=1;for(int t=1;t<=nn;++t){if(k==1){if(abtra[i][j]==-1) abtra[i][j++]=t; else{ k=2;++i;j-=2; //可以填入的位置都填满时需要改变方向 } }if(k==2){ if(abtra[i][j]==-1) abtra[i++][j--]=t; else{ k=3;i-=2;++j; //可以填入的位置都填满时需要改变方向 } } if(k==3){if(abtra[i][j]==-1)abtra[i--][j]=t;else{k=1;++i;++j;--t;}}}for(int i=1; i <= n; ++i){ for(int j=1; j <= n;++j){if(abtra[i][j]==0)break; printf("%4d",abtra[i][j]); //按规格打印 } printf("\n"); } }
- 按照某种方式打印矩阵
- 按照顺时针螺旋状打印所有矩阵元素
- 如何得到从第M条到第N条的记录[按照某种方式排序]
- (POJ 3687)Labeling Balls [逆top序列] 求按照某种排列方式的字典序最小的top序列
- 关于矩阵乘法按照列乘行的方式来看
- 剑指offer17--旋转的方式打印矩阵
- 剑指offer18--旋转的方式打印矩阵
- 选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自定义Ma
- 选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自定义Ma
- 选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自定义Ma
- 作业: 选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自
- 选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自定义Ma
- 选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值),学号用字符串表示,输入的时候要以学号乱序的方式存入Map集合,然后按照学号从大到小的顺序将Map集合中的元素输出打印。需要自定义Ma
- 输入一个矩阵,按照从外到里以顺时针的顺序依次打印每一个数字
- 输入一个矩阵,按照从外向里顺时针的顺序依次打印出每一个数字
- 日期自动变换(按照某种规律自动变更)
- 顺时针打印矩阵(蛇形填空)(两种方式实现)
- 打印矩阵
- 用低价引爆高利润
- linux下~/*和./*的区别
- 【SGU 194】 Reactor Cooling
- Dex2jar JD-GUI apktool反编译apk文件
- linux目录结构
- 按照某种方式打印矩阵
- 家是一个随着年龄而不断变化的概念。
- linux 常用命令
- 12308重置任意用户密码
- CentOS 6.5 下 Smokeping 安装
- html5离线存储入门基础
- 为iPhone 6设计自适应布局
- Java反射机制
- [super viewDidLoad]跟[super viewDidUnload]的调用时机