C++输入正整数,输出1-n*n顺时针排列矩阵之动态分配
来源:互联网 发布:三唑仑淘宝上输什么 编辑:程序博客网 时间:2024/06/07 06:12
#include <iostream>#include <cstring>/*输入正整数n, 输出将1~n*n顺时针排列矩阵*/using namespace std;void DisplayMatrix(int *A, int n);int main(){ int *A ; int n; cin >> n; A = new int [n*n]; memset (A, 0, n*n*sizeof (int)); enum DIRECTION {DOWN = 0, LEFT, UP, RIGHT} dir = DOWN; int row, col, k; row = 0; col = n - 1; for ( k = 1; k <= n*n; k++) { A [row*n+col] = k; switch (dir) { case DOWN : if (row < n-1 && A [(row+1)*n+col] == 0) { ++row; } else { --col; dir = LEFT; } break; case LEFT : if (col > 0 && A [row*n+col-1] == 0) { --col; } else { --row; dir = UP; } break; case UP : if (row > 0 && A [(row-1)*n+col] == 0) { --row; } else { ++col; dir = RIGHT; } break; case RIGHT : if (col < n-1 && A [row*n+col+1] == 0) { ++col; } else { ++row; dir = DOWN; } break; } } DisplayMatrix (A, n); delete [] A;}void DisplayMatrix (int *A, int n){ for (int row =0; row < n; ++row) { for (int col = 0; col < n; ++col) { cout.width (4); cout << A [row*n+col]; } cout << endl; }}
阅读全文
0 0
- C++输入正整数,输出1-n*n顺时针排列矩阵之动态分配
- C++输入正整数n, 输出将1~n*n顺时针排列矩阵之数组
- C语言编程:求n的阶乘问题。输入一个正整数n,输出n!
- 输入一个数n,输出1~n的全排列
- 用Swift3实现n*n阶矩阵顺时针输出
- 顺时针螺旋输出矩阵中的1到n*n的数字
- 阶乘之和Description 输入n,计算S=1!+ 2!+…+ n!的末6位(不含前导0)。这里,n!表示前n个正整数之积。 Input 输入n,,n≤ 106。 Output 输出S的
- 蓝桥杯题目 输入一个正整数n,输出n!的值。
- 输出n! n为用户输入的一个正整数 n! = n*(n-1)*(n-2)*...*1 5! = 5*4*3*2*1 = 120
- 顺时针打印m*n矩阵
- N个正整数随机排列
- 面试题:输入一个正整数n,输出所有的连续正整数之和等于n的序列
- 输入一个正整数n,输出一个最小正整数m,使得m的各位乘积等于n
- N的阶乘:输入一个正整数N,输出N的阶乘
- 求n的阶乘问题。输入一个正整数n,输出n!
- 输入正整数n,按从小到大的顺序输出所有形如abcde / fghij = n的表达式,其中a~j恰好为0~9的一个排列,2
- 人人都来写算法 之 矩阵顺时针旋转90度,空间效率O(1),时间效率O(n*n)
- 【重构】人人都来写算法 之 矩阵顺时针旋转90度,空间效率O(1),时间效率O(n*n)
- Maven 常见问题解决
- java基础知识总结1
- 推荐一些非常有用的博客
- 自己做身份证社保等回执
- Codeforces Round #435 (Div. 2)-异或规律&思维-Mahmoud and Ehab and the xor
- C++输入正整数,输出1-n*n顺时针排列矩阵之动态分配
- 装修领域的信息化
- 安装arcgis10.5不能启动服务的解决方案
- 在windows上安装git
- String类常用的方法
- Mongodb学习笔记 --- Mongodb使用步骤
- Robust Real-Time Extreme Head Pose Estimation
- MatchExpression(2):实现
- web端即时通讯原理