蛇形矩阵

来源:互联网 发布:qq飞车timi哪个淘宝店 编辑:程序博客网 时间:2024/06/05 08:21
根据打印方式来存储,需要注意的是参数设置
#include "stdafx.h"#include<iostream>#include<vector>using namespace std;int main(){    int n;        while(cin>>n){int count=0;int i=0;int j=0;int hangmo=n;int liemo=n;int hangchu=0;int liechu=0;vector<vector<int>>a(n,vector<int>(n,0));while(count<(n*n)){for(;j<liemo;j++){//蛇形矩阵未扫描的最上边一行  □count++;a[i][j]=count;}liemo--;i++;j--;if(hangmo==hangchu && liemo==liechu){//蛇形矩阵未扫描的最右边一列break;}for(;i<hangmo;i++){//蛇形矩阵未扫描的最下边一行count++;a[i][j]=count;}hangmo--;j--;i--;if(hangmo==hangchu && liemo==liechu){//蛇形矩阵为扫描的最左边一列break;}for(;j>=liechu;j--){count++;a[i][j]=count;}hangchu++;i--;j++;if(hangmo==hangchu && liemo==liechu){break;}for(;i>=hangchu;i--){count++;a[i][j]=count;}j++;i++;liechu++;if(hangmo==hangchu && liemo==liechu){break;}}for(int k=0;k<n;k++){for(int t=0;t<n;t++){cout<<a[k][t]<<" ";}cout<<endl;}}return 0;}

0 0
原创粉丝点击