输出蛇形矩阵
// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace::std ;
int main()
{
int n;
cin >> n;
vector<vector<int>> vec(n, vector<int>(n, 0));
int left = 0, right = n - 1;
int top = 0, bottom = n - 1;
int index = 1;
while (index <= n * n) {
for (int i = left; i <= right; ++i) {
if (index > n*n)break;
vec[top][i] = index;
++index;
}
++top;
for (int i = top; i <= bottom; ++i) {
if (index > n*n)break;
vec[i][right] = index;
++index;
}
--right;
for (int i = right; i >= left; --i) {
if (index > n*n)break;
vec[bottom][i] = index;
++index;
}
--bottom;
for (int i = bottom; i >= top; --i) {
if (index > n*n)break;
vec[i][left] = index;
++index;
}
++left;
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cout << vec[i][j] << " ";
}
}
return 0;
}
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。