实现输出10*10以内的数字旋转方阵,如果需要修改输出的方阵的大小可以改变N的值

#include<iostream>
using namespace std;
const int  N= 10;
int dt[N][N] = { 0 };
void full(int number, int begin, int size);
int main()
{int n;cin >> n;full(1, 0, n);for (int i = 0; i < n; i++){for (int j = 0; j < n; j++)cout << dt[i][j] << '\t';cout << endl;}return 0;
}
void full(int number, int begin, int size)
{if (size == 0)return;if (size == 1){dt[begin][begin] = number;return;}int i, j;i = begin;j = begin;for (int k = 0; k < size - 1; k++){dt[i][j] = number;number++;i++;}for (int k = 0; k < size - 1; k++){dt[i][j] = number;number++;j++;}for (int k = 0; k < size - 1; k++){dt[i][j] = number;number++;i--;}for (int k = 0; k < size - 1; k++){dt[i][j] = number;number++;j--;}full(number, begin + 1, size - 2);
}

运行结果:

数字旋转方阵 c++数据结构相关推荐

  1. 数字旋转方阵c语言主函数,数据结构——递归求数字旋转方阵

    [数字旋转方阵问题] 问题描述:输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. void FillInNum(int number, int ...

  2. 算法设计与分析:分治法输出数字旋转方阵

    分治法输出数字旋转方阵 数字旋转方阵如下图所示: 从下图可以看出,从左上角开始,逆时针放置每次增加1的数字,直到"旋转"到最里层终止. 分治:将这个矩阵填数之时一层一层地填进去,也 ...

  3. 递归-数字旋转方阵问题

    问题描述: 输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. 核心思想: 先用数组a[i][j]存储数字num(从1至N2),然后打印. 递归 ...

  4. 数字旋转方阵问题-分治法

    分治法: 数字旋转方阵问题 #include<stdio.h> #include <iostream> #include<iomanip> using namesp ...

  5. 算法学习——数字旋转方阵

    分析题目 将N*N矩阵分为四个部分,A,B,C,D,对这四个部分依次填充,内层同理 步骤如下:(非递归算法) 定义全局二维数组用于存放矩阵 宏定义一个常量N 编写full()函数用于填充二维数组 对A ...

  6. 【计算机算法】递归——打印旋转方阵(正转及逆转)

    通过如下程序来打印旋转方阵 思想: 填充数组后通过控制输出的格式,就可以打印顺转.逆转的旋转方阵 #include<stdio.h> int a[100][100]; int m = 1; ...

  7. java编程之数字魔方(N阶数字魔方和数字旋转魔方)

    N阶数字魔方 原理: 定义一个奇数阶二维数组,把每个元素顺序填入不同的自然数,要求行列和对角线元素相加的结果相等. 效果图: 实现代码: import java.util.*; public clas ...

  8. 【应用】使用STM32单片机定时器的Encoder模式驱动数字旋转编码开关

    RZ-51 6合1扩展板原理图.pdf:https://download.csdn.net/download/ZLK1214/29016144https://download.csdn.net/dow ...

  9. 旋转方阵So easy

    在刷题的过程中,积累了矩阵的一些常见的操作,这里特点做一下笔记,以供后续进阶学习. 1. 基本操作 1.1 沿主对角线翻转方阵 代码实现: public void rotate(int[][] mat ...

最新文章

  1. mysql 不同分区 同时insert_一文看懂mysql数据库分区表概念、类型、适用场景、优缺点及原理...
  2. 凡客诚品-工作经历 程序员你有一个感恩的心吗?
  3. Nginx解决PATH_INFO新解决办法
  4. 160个Crackme013之投机取巧
  5. check上传模板中的金额字段中的千分位
  6. 关于Spring的事务Transactional,锁同步,并发线程
  7. Docker 禁止被列入美国“实体名单”的国家、企业、个人使用
  8. 苹果测试集了成语音识别和人脸识别的智能家居?
  9. PHP与Javascript的混合测试
  10. 51 单片机学习_2.1 独立按键控制LED亮灭
  11. apktool+dex2jar+xjad反编译APK文件
  12. EP100触发CAN中断但无法读取报文
  13. 微信更换绑定手机人工服务器,微信更换已绑定手机号码的操作方法
  14. 计算机用户名,账户名更改
  15. c++学习笔记 第四部分
  16. 电脑某一个文件夹嵌套太多,导致无法删除的解决方法
  17. [湖南集训]谈笑风生
  18. “最难就业季“中的大学生就业:本硕过半有着落 高职生成香饽饽
  19. spoj 1811 LCS 后缀自动机
  20. java 单选题,【单选题】Java 语言提供处理不同类型流的类所在的包是( )

热门文章

  1. thinkphp整合系列之融云即时通讯在线聊天
  2. 雨心触动精灵VIP教程
  3. GITHUB 如何设置token
  4. Adobe Acrobat 不能打开在线pdf。Adobe Acrobat 应用程序正在被终止,因为内存错误
  5. 最后一个晚上了...
  6. java orm框架 博客园_自己写ORM框架 DBUtils
  7. C#:EF与ORM的详解。
  8. oracle ocm 招聘,甲骨文Oracle OCM数据库
  9. ENVI_IDL:读取OMI数据(HDF5)并输出为Geotiff文件+详细解析
  10. js form表单 鼠标移入弹出提示功能