社区
C++ 语言
帖子详情
矩阵算法
cy_i_lh
2007-12-04 02:49:09
输入 n= 3 要求输出矩阵 n*n
1 2 3
8 9 4
7 6 5
输入 n= 4 要求输出
1 2 3 4
14 15 16 5
11 12 13 6
10 9 8 7
...全文
206
4
打赏
收藏
矩阵算法
输入 n= 3 要求输出矩阵 n*n 1 2 3 8 9 4 7 6 5 输入 n= 4 要求输出 1 2 3 4 14 15 16 5 11 12 13 6 10 9 8 7
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Wolf_FienD
2007-12-04
打赏
举报
回复
NND 又见 螺旋 贴
http://topic.csdn.net/u/20071113/07/ea2188d2-154e-40a8-846c-d2fbff0c95b0.html
Aaron_Jerry
2007-12-04
打赏
举报
回复
看错了 不好意思
不过我想思路应该还是差不多的。
Aaron_Jerry
2007-12-04
打赏
举报
回复
1的位置是固定的(0,0),行进方向:右->下->左->上,在每个方向上找出行进步数的规律就可以了。
按照这种思路的代码如下:
#include <stdio.h>
#define N 5 //控制矩阵大小
int matrix[N][N];
int row_num,col_num;
int number;
int way; //行进方向
int right=1; //行进次数
int down=1;
int left=1;
int up=1;
void turn_right();
void turn_down();
void turn_left();
void turn_up();
void main()
{
int i,j;
while(number < N*N)
{
switch(way)
{
case 0:
turn_right();
break;
case 1:
turn_down();
break;
case 2:
turn_left();
break;
case 3:
turn_up();
break;
default:
break;
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%-4d",matrix[i][j]);
printf("\n");
}
}
void turn_right()
{
int j;
int col=col_num;
if(row_num==0 && col_num==0)
{
for(j=col;j<=N-right;j++)
matrix[row_num][j]=++number;
col_num=col+N-1;
}
else
{
for(j=col+1;j<=col+N-2*(right-1);j++)
matrix[row_num][j]=++number;
col_num=col+N-2*(right-1);
}
right++;
way=1;
}
void turn_down()
{
int i;
int row=row_num;
for(i=row+1;i<=row+N-(2*down-1);i++)
matrix[i][col_num]=++number;
row_num=row+N-(2*down-1);
down++;
way=2;
}
void turn_left()
{
int j;
int col=col_num;
for(j=col-1;j>=col-(N-(2*left-1));j--)
matrix[row_num][j]=++number;
col_num=col-(N-(2*left-1));
left++;
way=3;
}
void turn_up()
{
int i;
int row=row_num;
for(i=row-1;i>=row-(N-2*up);i--)
matrix[i][col_num]=++number;
row_num=row-(N-2*up);
up++;
way=0;
}
ar_2002
2007-12-04
打赏
举报
回复
规律有点岐义 如当n为5时
1 2 3 4 5
22 23 24 25 6
18 19 20 21 7
14 15 16 17 8
13 12 11 10 9
1 2 3 4 5
25 24 24 22 6
18 19 20 21 7
14 15 16 17 8
13 12 11 10 9
是哪种?
QR
算法
求
矩阵
特征值的matlab实现
QR
算法
求
矩阵
特征值的matlab实现
几个推荐
算法
的java实现
- 奇异值分解是
矩阵
分解的一种方法,广泛用于推荐系统中。它将用户-物品评分
矩阵
分解为三个
矩阵
的乘积:U * Σ * V^T,其中U和V是正交
矩阵
,Σ是对角
矩阵
,包含了主要的信息。 - 在Java中实现SVD,通常会使用如...
Python inverse matrix逆
矩阵
算法
详解及源码
该
算法
通过对原
矩阵
进行行变换,将原
矩阵
转换为单位
矩阵
,同时对单位
矩阵
进行同样的行变换,最终得到原
矩阵
的逆
矩阵
。该
算法
通过对原
矩阵
进行行变换,将原
矩阵
...逆
矩阵
算法
的优点是可以快速计算非奇异
矩阵
的逆
矩阵
。
趣学
算法
|斐波那契
矩阵
算法
矩阵
乘法特征: 1,当
矩阵
A的列数等于
矩阵
B的行数时,A与B可以相乘。 2,
矩阵
C的行数等于
矩阵
A的行数,C的列数等于B的列数。 3,乘积C的第m行第n列的元素等于
矩阵
A的第m行的元素与
矩阵
B的第n列对应元素乘积之和。
用java实现螺旋
矩阵
算法
用java实现螺旋
矩阵
算法
一、思路讲解 刚拿到这道题的时候想的是一圈一圈的实现一个螺旋
矩阵
,但我觉得那样的方法太麻烦了,在网上看到一个大佬的
算法
觉得挺好的,自己总结了一下,拿出来给大家分享分享。 这个
算法
...
C++ 语言
65,192
社区成员
250,525
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章