蛇形矩阵
题目描述:
题目说明蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
题解:
首先要选择一个容器来容纳矩阵,我就选择向量啦。当输入n,首先创建一个n*n的二维向量。然后用一个while循环来形成蛇形矩阵,然后对之输出。不要忘了在每一次输入n前清空二维向量哦。。。。
代码:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<vector<int>> result;
int i,n,j,m;
while(cin>>n)
{
for(i=0;i<n;i++)
{
vector<int> temp(n);
result.push_back(temp);
temp.clear();
}
i=0;
int num=1;
while(i<n)//此处的while循环来创造蛇形矩阵
{
m=i;
j=0;
while(m>=0)
{
result[m--][j++]=num++;
}
i++;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(result[i][j]!=0)
{
cout<<result[i][j]<<" ";
}
}
cout<<"\n";
}
result.clear();
}
return 0;
}