蛇形矩阵(c语言)

这篇具有很好参考价值的文章主要介绍了蛇形矩阵(c语言)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

输入两个整数 n 和 m,输出一个 n 行 m 列的矩阵,将数字 1 到n×m 按照回字蛇形填充至矩阵中。

具体矩阵形式可参考样例。

输入格式

输入共一行,包含两个整数 n 和 m。

输出格式

输出满足要求的矩阵。

矩阵占 n 行,每行包含 m 个空格隔开的整数。

数据范围

1≤n,m≤100

输入样例:
3 3
输出样例:
1 2 3
8 9 4
7 6 5

分析题目,需要写一个回性矩阵,这是一个比较经典的例题,我们可以设置4个反向的数组来分别存储

蛇形矩阵c语言怎么写,矩阵,算法,c++,Powered by 金山文档
蛇形矩阵c语言怎么写,矩阵,算法,c++,Powered by 金山文档

代码如下:

#include<stdio.h>

int main()

{

int n,m;

scanf("%d%d",&n,&m);

int q[110][110];

int dx[]={-1,0,1,0},dy[]={0,1,0,-1};//设置数组存储方向

int x=0,y=0,d=1;//初始坐标设为(0,0),方向为向左1

for(int i=1;i<=m*n;i++)//数组中总共需要存储m*n个数

{

q[x][y]=i;

int a=x+dx[d],b=y+dy[d];

if(a<0||a>=n||b<0||b>=m||q[a][b])//判断是否出界或者经过同一个地方

{

d=(d+1)%4;

a=x+dx[d],b=y+dy[d];

}

x=a,y=b;//如果没有重复或出界,则不用改变方向

}

for(int i=0;i<n;i++)

{

for(int j=0;j<m;j++)

{

printf("%d ",q[i][j]);

}

printf("\n");

}

return 0;

}

注:关于经过重复位置时可以用q[a][b]来判断的原因:

C++ 中未初始化的数组(非 vector )的值的问题:

全局数组,未初始化时,默认值都是 0;

局部数组,未初始化时,默认值为随机的不确定的值;

局部数组,初始化一部分时,未初始化的部分默认值为 0;

而 C++ 中 0 值是可以作为 false, 非 0 值可以作为 true 使用( Java 中就不可以)。文章来源地址https://www.toymoban.com/news/detail-814368.html

到了这里,关于蛇形矩阵(c语言)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?

    当我们搭建好DZ论坛网站后,为了美化网站,想把标题栏的Powered by Discuz!去除或是修改,应该如何操作呢?今天飞飞和你分享,在操作前务必把网站源码和数据库都备份到本地或是网盘。   Discuz的版权信息存在两处地方,一个是标题栏,一个是底部。一般为了美化修改个标

    2024年02月08日
    浏览(78)
  • (C#) IIS 响应标头过滤敏感信息(如:Server/X-Powered-By等) 运维知识

    再一次净网行动中,客户要求安全改造发现了接口请求的header标头中出现如图中的敏感信息。   其意义在于告知浏网站是用什么语言或者框架编写的。解决办法就是修改该响应头为一个错误的值,将攻击者导向一个错误的方向。 这里只说windows 的iis环境,不考虑其他服务器的

    2024年02月11日
    浏览(69)
  • 蛇形矩阵蒸滴好玩

    先来看看题目: 描述 康托尔三角是由著名数学家康托尔设计的一个整数三角,可以用来证明所有有理数与自然数一一对应,亦即有理数集是一个可数集。康托尔三角的构造如下: 01 02 06 07 15 16 28 29 45 46 03 05 08 14 17 27 30 44 47 04 09 13 18 26 31 43 48 10 12 19 25 32 42 49 11 20 24 33 41 50 21

    2024年02月08日
    浏览(35)
  • 蛇形矩阵python

    作者简介 :一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。 座右铭 :未来是不可确定的,慢慢来是最快的。 个人主页 :极客李华-CSDN博客 合作方式 :私聊+ 这个专栏内容 :BAT等大厂常见后端java开发面试题详细讲解,更新数目10

    2024年02月12日
    浏览(31)
  • 回型矩阵|蛇形矩阵|上三角矩阵|矩阵转置|二维数组打印问题

    二维数组,作为一种存放一系列数的载体,不免和数学中用于存放数的数表——矩阵,有着密切的联系。矩阵本身就有些抽象,需要设计一个程序精准打印出来更是有难度,所以今天便来总结一些二维数组与矩阵打印的问题该如何解决。 (题目取自牛客网BC133-BC138) 给你一个

    2024年02月03日
    浏览(49)
  • 金山办公推出WPS AI,开放应用于智能文档

    🦉 AI新闻 🚀 金山办公推出WPS AI,开放应用于智能文档 摘要:金山办公宣布WPS AI正式面向社会开放,首先用于WPS智能文档,该产品支持内容生成、表达优化、文档理解及处理等功能。用户可通过WPS客户端、App、金山文档小程序以及官网进行体验。WPS智能文档具备内容生成、

    2024年02月09日
    浏览(41)
  • 华为机试题:HJ35 蛇形矩阵(python)

    描述 : 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 例如,当输入5时,应该输出的三角形为: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 输入描述 : 输入正整数N(N不大于100) 输出描述 :输出一个N行的蛇形矩阵。 示例1 Python3 【Python】input()函数用法小结 常用的强转类

    2024年02月07日
    浏览(37)
  • 华为OD机试题,用 Java 解【蛇形矩阵】问题

    华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】 华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】 华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】 华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】 华为OD机试 - 组成最大数(Java) | 机试题算法思

    2023年04月09日
    浏览(34)
  • AIGC席卷智慧办公,金山办公如何架构文档智能识别与理解的通用引擎?

    如今,智慧办公是企业办公领域数字化转型的题中之义。作为国内最早开发的软件办公系统之一,金山办公如何应用深度学习实现复杂场景文档图像识别和技术理解?本文将从复杂场景文档的识别与转化、非文本元素检测与文字识别、文本识别中的技术难点等多个方面进行深

    2024年02月11日
    浏览(51)
  • 数据结构第七周 :(稀疏矩阵快速转置 + 简单文本编辑器 + 三元组的矩阵加法 + 九宫格数独游戏 + 数组主元素 + 螺旋数字矩阵 + 蛇形矩阵)

    【问题描述】 稀疏矩阵的存储不宜用二维数组存储每个元素,那样的话会浪费很多的存储空间。所以可以使用一个一维数组存储其中的非零元素。这个一维数组的元素类型是一个三元组,由非零元素在该稀疏矩阵中的位置(行号和列号对)以及该元组的值构成。而矩阵转置就

    2023年04月21日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包