| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 987 人关注过本帖
标题:[原创]我写的螺旋数组算法
只看楼主 加入收藏
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
 问题点数:0 回复次数:5 
[原创]我写的螺旋数组算法

图片附件: 游客没有浏览图片的权限,请 登录注册

/*螺旋数组*/

#include <stdio.h>
#include <conio.h>
#define N 100

int ls[N][N];

void lssz()
{
int sum=N*N,i=0,j=0,cs=0;
while(cs<sum)
{
while(j<=N-1)
{
if (!ls[i][j])
{
ls[i][j++]=++cs;

}
else
{
j--;
break;
}
}
if (j==N)
j--;
i++;

/*从左到右*/

while(i<=N-1)
{
if (!ls[i][j])
{
ls[i++][j]=++cs;

}
else
{
i--;
break;
}
}
if (i==N)
i--;
j--;


/*从上到下*/

while(j>=0)
{
if (!ls[i][j])
{
ls[i][j--]=++cs;

}
else
{
j++;
break;
}
}
if (j<0)
j++;
i--;


/*从右到左*/

while(i>=0)
{
if (!ls[i][j])
{
ls[i--][j]=++cs;

}
else
{
i++;
break;
}
}
if (i<0)
i++;
j++;


/*从下到上*/

}

}

void main()
{
int i=0,j;
clrscr();

lssz();
for(;i<N;i++)
{
for(j=0;j<N;j++)
printf("%-5d",ls[i][j]);
puts("");
}
getch();
}

写这个想了很久的算法,这不算难
调试程序时才把我整晕了

我写错一个字母
结果不同,
我就用N=5这个矩阵自己在草稿本上测试程序
后面才找到

调试好麻烦

while(j>=0)
{
if (!ls[i][j])
{
ls[i][j--]=++cs;

}
else
{
j++; /*这儿开先我写成i++了,结果中间的往上跑了*/
break;
}
}
if (j<0)
j++;
i--;


/*从右到左*/


搜索更多相关主题的帖子: 螺旋 算法 
2006-09-22 12:38
baidu
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:3811
专家分:0
注 册:2005-11-4
收藏
得分:0 
到C++去翻翻旧贴,你会有新的收获

偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
2006-09-22 13:19
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 
THANK YOU
BAIDU


捅死你个汉奸!!!!1
2006-09-22 13:24
zhouweike
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-9-23
收藏
得分:0 

看我的螺旋数组算法
# include <stdio.h>
void main( )
{int f(int b);
int a[11][11],i,j;
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
{ if(i<=j)
{ if(i<=(11-j))
a[i][j]=36*(i-1)-8*f(i-2)+j-(i-1);
else
a[i][j]=36*(10-j)-8*f(9-j)+j+i-2*(10-j)-1;
}
else
{if(i<=(11-j))
a[i][j]=36*j-8*f(j-1)-i+j+1;
else
a[i][j]=36*(11-i)-8*f(11-i-1)-i-j+2*(10-i)+3;
};
};
for(i=1;i<=10;i++)
{for(j=1;j<=10;j++)
printf("%4d",a[i][j]);
printf("\n");
};
}
int f(int b)
{int m;
if(b<=0)
m=0;
else
m=f(b-1)+b;
return(m);
}


2006-09-26 13:21
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 

捅死你个汉奸!!!!1
2006-09-26 15:51
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 
有点注释就好了

捅死你个汉奸!!!!1
2006-09-26 15:52
快速回复:[原创]我写的螺旋数组算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023197 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved