数字旋转方阵 c++数据结构
实现输出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++数据结构相关推荐
- 数字旋转方阵c语言主函数,数据结构——递归求数字旋转方阵
[数字旋转方阵问题] 问题描述:输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. void FillInNum(int number, int ...
- 算法设计与分析:分治法输出数字旋转方阵
分治法输出数字旋转方阵 数字旋转方阵如下图所示: 从下图可以看出,从左上角开始,逆时针放置每次增加1的数字,直到"旋转"到最里层终止. 分治:将这个矩阵填数之时一层一层地填进去,也 ...
- 递归-数字旋转方阵问题
问题描述: 输出下图所示N×N(N≥1)的数字旋转方阵.要求:采用递归法实现. 提示:注意观察A.B.C.D四个区域. 核心思想: 先用数组a[i][j]存储数字num(从1至N2),然后打印. 递归 ...
- 数字旋转方阵问题-分治法
分治法: 数字旋转方阵问题 #include<stdio.h> #include <iostream> #include<iomanip> using namesp ...
- 算法学习——数字旋转方阵
分析题目 将N*N矩阵分为四个部分,A,B,C,D,对这四个部分依次填充,内层同理 步骤如下:(非递归算法) 定义全局二维数组用于存放矩阵 宏定义一个常量N 编写full()函数用于填充二维数组 对A ...
- 【计算机算法】递归——打印旋转方阵(正转及逆转)
通过如下程序来打印旋转方阵 思想: 填充数组后通过控制输出的格式,就可以打印顺转.逆转的旋转方阵 #include<stdio.h> int a[100][100]; int m = 1; ...
- java编程之数字魔方(N阶数字魔方和数字旋转魔方)
N阶数字魔方 原理: 定义一个奇数阶二维数组,把每个元素顺序填入不同的自然数,要求行列和对角线元素相加的结果相等. 效果图: 实现代码: import java.util.*; public clas ...
- 【应用】使用STM32单片机定时器的Encoder模式驱动数字旋转编码开关
RZ-51 6合1扩展板原理图.pdf:https://download.csdn.net/download/ZLK1214/29016144https://download.csdn.net/dow ...
- 旋转方阵So easy
在刷题的过程中,积累了矩阵的一些常见的操作,这里特点做一下笔记,以供后续进阶学习. 1. 基本操作 1.1 沿主对角线翻转方阵 代码实现: public void rotate(int[][] mat ...
最新文章
- mysql 不同分区 同时insert_一文看懂mysql数据库分区表概念、类型、适用场景、优缺点及原理...
- 凡客诚品-工作经历 程序员你有一个感恩的心吗?
- Nginx解决PATH_INFO新解决办法
- 160个Crackme013之投机取巧
- check上传模板中的金额字段中的千分位
- 关于Spring的事务Transactional,锁同步,并发线程
- Docker 禁止被列入美国“实体名单”的国家、企业、个人使用
- 苹果测试集了成语音识别和人脸识别的智能家居?
- PHP与Javascript的混合测试
- 51 单片机学习_2.1 独立按键控制LED亮灭
- apktool+dex2jar+xjad反编译APK文件
- EP100触发CAN中断但无法读取报文
- 微信更换绑定手机人工服务器,微信更换已绑定手机号码的操作方法
- 计算机用户名,账户名更改
- c++学习笔记 第四部分
- 电脑某一个文件夹嵌套太多,导致无法删除的解决方法
- [湖南集训]谈笑风生
- “最难就业季“中的大学生就业:本硕过半有着落 高职生成香饽饽
- spoj 1811 LCS 后缀自动机
- java 单选题,【单选题】Java 语言提供处理不同类型流的类所在的包是( )
热门文章
- thinkphp整合系列之融云即时通讯在线聊天
- 雨心触动精灵VIP教程
- GITHUB 如何设置token
- Adobe Acrobat 不能打开在线pdf。Adobe Acrobat 应用程序正在被终止,因为内存错误
- 最后一个晚上了...
- java orm框架 博客园_自己写ORM框架 DBUtils
- C#:EF与ORM的详解。
- oracle ocm 招聘,甲骨文Oracle OCM数据库
- ENVI_IDL:读取OMI数据(HDF5)并输出为Geotiff文件+详细解析
- js form表单 鼠标移入弹出提示功能