7-蛇形二维数组

用c语言,通过二维数组完成蛇形矩阵 问题通过二维数组完成蛇形矩阵。 阅读详情

给定一个n行m列的二维数组,左上角为1,蛇形递增,输出最后的数组
1 2 3
8 9 4
7 6 5


代码1(自己写的):

两种方法均借鉴了wrong的思路,wrong的代码中第二种方法只写了思路没有调试,所以出现了数据被覆盖,自己的代码完善了wrong写的第二种简易方法。

#include <iostream>
#include <stdio.h>
const int maxn = 100;

using namespace std;

int snake[maxn][maxn];
int n,m;

bool boundary(int r,int c)
{
    if(r<1 || r>n || c<1 || c>m)
        return 0;
    else
        return 1;
}

int main()
{
    int r = 1;int c = 1;
    int cot = 1;
    scanf("%d%d",&n,&m);

    int d = 0;              //控制方向0、1、2、3
    int dir[4][2] = {
  
  {0,1},{1,0},{0,-1},{-1,0}};

    while(cot<=n*m)
    {
//方法一
/*        while(cot<=n*m)
        {
            snake[r][c] = cot;
            c++;
            cot++;
            if(!boundary(n,m) || snake[r][c])
            {
                r++;
                c--;
                break;
            }
        }
       
蛇形矩阵的创建 这是记录我做的一道关于蛇形矩阵的文章 1题目描述 【问题描述】 将1,2,…,n*n个自然数,按蛇形方式存放在二维数组A[n][n]中。“蛇型”方式,即是按“副对角线”平行的各对角线,从左下到右上,再从右上到左下,存放n2个整数。例如: 1 3 4 2 5 8 6 7 9 【输入形式】 输入数组的阶数n。 【输出形式】 打印数据元素按蛇形排列的数组,整数打印的域宽为4。 【样例输入】3 【样例输出】 1 3 4 2 5 8 6 7 9 【样例说明】矩阵的阶数为3,打印按蛇形存放 阅读详情

相关推荐

二维数组蛇形和Z形矩阵输出

1、蛇形矩阵输出   思路:就顺时针的矩阵为例,由矩阵外至内圈的数值是逐渐加1的,所以主要是找出值循环增加的规律,跟设定的圈数round有关,而round的取值范围为0 <= round <= n / 2,首先定义圈数从0开始,→的下标x是恒定的,从0开始,但是下标y是从round至n - round的,接着向下↓,下标y保持n - round 不变,下标x从round + 1增加到n -

Echo_Ana的博客 8027

二维数组:蛇形填空

蛇形填空 【题目描述】 在 n * n 方陈里填入1,2,…,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 【输入】 直接输入方陈的维数,即n的值。(n<=100) 【输出】 输出结果是蛇形方陈。 【样例输入】 3 【样例输出】 7 8 1 6 9 2 5 4 3 【代码】 #include <iostream> using namespace std; int a[101][101]; int ma

阿怪的博客 943

c++ 蛇形矩阵

先观察这个矩阵,不难发现,这个矩阵的数字排列顺序是:一圈一圈的按数字大小以顺时针排列 ,每一圈的行或列到终点时转弯,当一圈结束时,开始下一圈的排列,直到数字排完。从左上角填上 11 开始,顺时针方向依次填入数字,如同样例所示。给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。如果赋值到一圈的转弯点时给状态机赋值。建立变量x y,初始值为i-1。本思路为自创思路,如有雷同纯属巧合。输入一个正整数 n,含义如题所述。开始循环,条件为i<=圈数。给变量a[x][y]赋值。数据保证,1≤n≤9。

C_Free_Dom的博客 1694

蛇形矩阵(用二元数组实现)

学习数组或则循环结构时经常遇到的一个可以说是经典的问题——蛇形矩阵

树莓派计算模块摄像头连接与配置全攻略:从硬件跳线到软件驱动

在嵌入式视觉项目中,摄像头模组的连接与驱动是图像采集和视频分析的基础。其核心原理是通过CSI-2高速串行接口协议传输图像数据,并依赖I2C总线进行传感器寄存器配置。这一技术方案的价值在于为工业控制、机器人等嵌入式设备提供了稳定、高性价比的视觉感知能力。在实际应用中,开发者常面临摄像头无法识别、I2C通信失败等挑战,尤其是在使用树莓派计算模块时,其硬件接口需要通过I/O板引出,配置过程涉及设备树参数调整等关键步骤。本文聚焦于解决这些实际问题,详细拆解了从硬件连接到软件驱动的完整流程,特别是针对CM4、CM3+

weixin_29184075的博客 336

DeepLearning tutorial(7)深度学习框架Keras的使用-进阶

上一篇文章总结了Keras的基本使用方法,相信用过的同学都会觉得不可思议,太简洁了。十多天前,我在github上发现这个框架的时候,关注Keras的人还比较少,这两天无论是github还是微薄,都看到越来越多的人关注和使用Keras。所以这篇文章就简单地再介绍一下Keras的使用,方便各位入门。主要包括以下三个内容: 训练CNN并保存训练好的模型。 将CNN用于特征提取,用提取出来的特征训练SVM。

wepon的专栏 2万+

解决SolidWorks启动报错问题:SolidWorks2020显示无法获得下列许可 SolidWorks standard 期望的SolidWorks监控程序已经关闭(-97,121,0)

解决SolidWorks启动报错问题:SolidWorks2020显示无法获得下列许可 SolidWorks standard 期望的SolidWorks监控程序已经关闭(-97,121,0) 问题描述 打开SolidWorks2020时,显示SolidWorks2020显示无法获得下列许可 SolidWorks standard 期望的SolidWorks监控程序已经关闭(-97,121,0) (急需看模型的我心里万马奔腾…) 截图如下: 有问题咱就上 看了其他博主的回答,自己尝试了几个,发现出现了新的

qq_44606358的博客 7万+

手把手教你用Silvaco Atlas复现GaN蓝光LED仿真:从网格划分到光谱分析全流程避坑

本文详细介绍了如何使用Silvaco Atlas进行GaN蓝光LED仿真,从网格划分到光谱分析的全流程避坑指南。重点讲解了网格划分技巧、材料参数设置、极化效应处理以及结果分析方法,帮助用户快速掌握半导体器件仿真技术,提升研发效率。

weixin_42552716的博客 223

手把手教你用Qt5打造二次元游戏启动器(附鸣潮同款UI源码)

本文详细介绍了如何使用Qt5框架从零开始构建一个功能完整、UI风格贴近《鸣潮》的二次元游戏启动器。教程涵盖无边框窗口、动态背景、自定义控件绘制、多线程资源加载以及下载管理等核心模块的实现,并提供了可运行的源码参考,帮助C++开发者和Qt爱好者深入掌握现代桌面应用开发技术。

weixin_29291863的博客 264

告别手动下载!用Python脚本5分钟搞定NREL风速数据(附完整API调用代码)

本文详细介绍了如何使用Python脚本自动化获取NREL风速数据,从API密钥申请到数据保存的全流程。通过完整的API调用代码和实战技巧,帮助研究人员和开发者高效下载全球高精度风速数据,告别繁琐的手动操作,提升工作效率。

weixin_33724059的博客 297

Python + Google AI 自动修复 Sonar Bug 实践

在工作中总会遇到种种不期而至的需求,比如前段时间突然要修复所有 Sonar Bug,涉及各种琐碎的代码风格问题,包括但不限于语法不规范、废弃注释等问题。这些项目都已经持续开发几年了,Sonar 上的问题层出不穷,各种问题已经累积到了上万个,手动修复不但费时费力,而且过程异常枯燥。

子洋 Blog 2415

KubeVela入门到精通-K8S多集群交付

KubeVela是一个功能强大、易于使用、高度可扩展的应用交付与管理平台。它基于Kubernetes和OAM 技术构建,通过开放应用模型(OAM)来作为顶层的抽像,提供了声明式部署、多集群/混合环境支 持、插件与扩展性、中心化管控以及易于使用与可观测性等特点。

小杨同学的博客 1269

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 6-C/C++实现数据结构链表相关操作
下一篇: 8-字符串的压缩存储
outer_star
博客等级 码龄14年 8粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值