逆时针蛇形矩阵c++
时间: 2023-07-01 07:05:38 浏览: 212
c++蛇形矩阵
5星 · 资源好评率100%
以下是逆时针蛇形矩阵的 C++ 代码实现:
```c++
#include<iostream>
using namespace std;
const int MAXN = 1005;
int arr[MAXN][MAXN];
int main(){
int n;
cin >> n;
int top = 1, bottom = n, left = 1, right = n;
int cnt = 1;
while(cnt <= n * n){
for(int i = right; i >= left; i--)
arr[bottom][i] = cnt++;
bottom--;
for(int i = bottom; i >= top; i--)
arr[i][left] = cnt++;
left++;
for(int i = left; i <= right; i++)
arr[top][i] = cnt++;
top++;
for(int i = top; i <= bottom; i++)
arr[i][right] = cnt++;
right--;
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++)
cout << arr[i][j] << " ";
cout << endl;
}
return 0;
}
```
输入一个正整数 n,表示蛇形矩阵的大小。我们使用四个变量 top、bottom、left、right 分别表示当前蛇形矩阵的上、下、左、右边界,cnt 表示当前填入矩阵的数字。
我们从右到左填入最后一行,从下到上填入最右一列,从左到右填入最上一行,从上到下填入最左一列。每填入一个数,cnt 值加一。当 cnt 大于 n × n 时,矩阵填完。
最后输出矩阵即可。
阅读全文