社区
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
...全文
205
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实现
java实现的几个推荐
算法
:slopeone SVD,RSVD,ItemNeighborSVD 内有readme,相关内容在blog.csdn.net/lgnlgn
Python inverse matrix逆
矩阵
算法
详解及源码
该
算法
通过对原
矩阵
进行行变换,将原
矩阵
转换为单位
矩阵
,同时对单位
矩阵
进行同样的行变换,最终得到原
矩阵
的逆
矩阵
。该
算法
通过对原
矩阵
进行行变换,将原
矩阵
转换为单位
矩阵
,同时对单位
矩阵
进行同样的行变换,最终得到原
矩阵
的逆
矩阵
。该
算法
通过对原
矩阵
进行行变换,将原
矩阵
转换为单位
矩阵
,同时对单位
矩阵
进行同样的行变换,最终得到原
矩阵
的逆
矩阵
。该
算法
通过对原
矩阵
进行行变换,将原
矩阵
转换为单位
矩阵
,同时对单位
矩阵
进行同样的行变换,最终得到原
矩阵
的逆
矩阵
。逆
矩阵
算法
的优点是可以快速计算非奇异
矩阵
的逆
矩阵
。
趣学
算法
|斐波那契
矩阵
算法
矩阵
乘法特征: 1,当
矩阵
A的列数等于
矩阵
B的行数时,A与B可以相乘。 2,
矩阵
C的行数等于
矩阵
A的行数,C的列数等于B的列数。 3,乘积C的第m行第n列的元素等于
矩阵
A的第m行的元素与
矩阵
B的第n列对应元素乘积之和。
Python rotate matrix旋转
矩阵
算法
详解及源码
rotate matrix旋转
矩阵
算法
用于将一个二维
矩阵
顺时针旋转90度。该
算法
通过对
矩阵
进行转置操作,然后再将每一行翻转来实现旋转。
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章