经典矩阵试题(一)

编程入门 行业动态 更新时间:2024-10-17 05:00:40

经典<a href=https://www.elefans.com/category/jswz/34/1769510.html style=矩阵试题(一)"/>

经典矩阵试题(一)


📘北尘_:个人主页

🌎个人专栏:《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》

☀️走在路上,不忘来时的初心

文章目录

  • 一、回型矩阵
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码实现
    • 4、结果
  • 二、蛇型矩阵
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码实现
    • 4、结果
  • 总结


一、回型矩阵

1、题目介绍

2、思路讲解

回型矩阵就是顺时针输入1到n的数字,这个题的思路是,定义x方向y方向的移动的,首先是x不变y加1,然后x加1y不变,然后x不变y减1,最后x减1 y不变。
然后循环注意边界问题,便可。

3、代码实现

#include <iostream>
using namespace std;
int main() {int n;cin>>n;int dx[]={0,1,0,-1};int dy[]={1,0,-1,0};int ans[20][20]={0};for(int x=0,y=0,d=0,k=1;k<=n*n;k++){ans[x][y]=k;int a=x+dx[d],b=y+dy[d];if(a<0 || a>=n || b<0 || b>=n || ans[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<n;j++){cout<<ans[i][j]<<' ';}cout<<endl;     }
}

4、结果


二、蛇型矩阵

1、题目介绍

2、思路讲解

我们可以发现i+j = n-1的条件,再发现以i+j = n - 1为分界线,前面的斜线分别是i + j = n-2,i+j = n-3…后面的分别是i+j = n,i+j = n+1…以此类推,让count= i+j,count从0开始再进行累加,直到2 * n-2结束,count为奇数的时候是左下,偶数的时候右上。

3、代码实现

#include <iostream>
using namespace std;
int main() {int n;cin>>n;int ans[1000][1000]={0};int count=0;int sum=1;while(count<=n*2-2){for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(i+j==count){if(count%2==0){ans[j][i]=sum++;}else {ans[i][j]=sum++;}}}}count++;}for(int i=0;i<n;i++){for(int j=0;j<n;j++){cout<<ans[i][j]<<' ';}cout<<endl;}return 0;
}

4、结果


总结

蛇形矩阵是一种矩阵排列方式,它的排列方式类似于蛇形爬行。这种排列方式可以用于数字、字母等的排列,也可以用于图像的展示。在计算机科学中,蛇形矩阵也被广泛应用于图像处理、数据压缩等领域。

回形方阵是一种排列方式,通常用于将一段文字或图形排列成一个正方形或长方形,使得文字或图形在正方形或长方形中呈现出回文的形式。回形方阵在古代中国被广泛应用于诗歌、文章、书法等领域,是一种独特的艺术形式。
回形方阵的排列方式通常是从中心点开始,按照顺时针或逆时针方向依次填充文字或图形,直到填满整个正方形或长方形。在填充过程中,需要注意每一行和每一列的长度应该相等,以保证最终呈现出的形状是一个完整的正方形或长方形。
回形方阵的应用范围很广,除了在古代文学艺术中的应用外,现代人们也常常将其用于设计海报、广告、宣传画等场合,以达到更加独特、有趣的效果。

更多推荐

经典矩阵试题(一)

本文发布于:2023-11-16 01:20:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1611082.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:矩阵   试题   经典

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!