| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 740 人关注过本帖
标题:急!几个数组问题~
只看楼主 加入收藏
wendao6dh
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:31
专家分:74
注 册:2011-5-6
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:6 
急!几个数组问题~
1. 有 N 个人围成一圈参加游戏,游戏的规则是:
  N个人的编号分别为1、2、……、N,以编号为‘1’的人开始报数,报到 M 时该人跳出圈子,下一人继续报数。按此要求依次输出所有跳出圈子人员的编号。例如:由 9 个人(N = 9)参加游戏,M 为 5,则出圈次序为:5,1,7,4,3,6,9,2,8
2. 已知一维数组 A 共有25个元素,值为:A(I)=I,现将此一维数组存入二维数组 B(5,5),存放次序为:
 A(1)  A(2)  A(5)  A(10)  A(17)
 A(4)  A(3)  A(6)  A(11)  A(18)
 A(9)  A(8)  A(7)  A(12)  A(19)
 A(16) A(15) A(14) A(13)  A(20)
 A(25) A(24) A(23) A(22)  A(21)
即:
 B(1,1)=A(1)  B(1,2)=A(2)  B(1,3)=A(5)  B(1,4)=A(10)  B(1,5)=A(17)…
3. 在屏幕上输出杨辉三角形的前 N 行:
 1
 1   1
 1   2    1
 1   3    3    1
 1   4    6    4    1
 1   5   10   10    5    1
 1   6   15   20   15    6   1
 1   7   21   35   35   21   7   1


我在网上搜到的第一题的解法可以是:
clear
input "请输入人数 n=" to n
input "请输入m=" to m
dimension a(n)
a=1
s=0
k=0
do while k<n  
  for i=1 to n  
    if a(i)=1   
      s=s+1
      if s=m
        ?i
        k=k+1
        a(i)=0
        s=0
      endif
    endif
  endfor         
enddo
但是我就是闹不懂 “if a(i)=1”与 “a(i)=0” 这两句命令在这个程序中充当了什么样的作用~请高手指导一下~

第二题说实话我连题意都没看懂~汗……
第三题我勉强写了一个程序,貌似还成,但是那个“??space(9)”着实是我一个个试验出来的,看见到9勉强对齐了就写上了,不知道对不对……
clear
input "n=" to n
dimension a(n,n)
a=1
for i=1 to n
  ?1
  if i>=2
    for j=2 to i-1
     a(i,j)=a(i-1,j-1)+a(i-1,j)
     ??a(i,j)
    endfor
    ??space(9)
    ??1
  endif
endfor

谢谢各位大虾的耐心指导啊~!
  


[ 本帖最后由 wendao6dh 于 2011-6-1 10:17 编辑 ]
搜索更多相关主题的帖子: 游戏 个人 元素 
2011-06-01 10:14
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
dimension a(n)  &&建数组A
a=1             &&将数组各项赋值 1
if a(i)=1       &&如果数组第i项 =1

a(i)=0          &&对数组第i项赋值 0

收到的鲜花
  • wendao6dh2011-06-04 11:11 送鲜花  5朵   附言:谢谢指导啊~不过我要求的是这几个语句在整个 ...
2011-06-01 11:31
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
第2题好象没有什么规律可循。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-06-01 16:02
go2011
Rank: 6Rank: 6
等 级:侠之大者
帖 子:56
专家分:445
注 册:2011-4-21
收藏
得分:30 
回复 楼主 wendao6dh
第二题:
CLEAR
DIMENSION A(25)
DIMENSION B(5,5)
FOR i=1 TO 25
 A(i)=i
NEXT
FOR i=1 TO 5
 FOR j=1 TO 5
  IF j>=i
   B(i,j)=A((j-1)*(j-1)+i)
  ELSE
   B(i,j)=A(i*i-j+1)
  ENDIF
  ??B(i,j)
 NEXT
 ?
NEXT

第三题用space(9)是因为所用数组数据的位数是10,如果不想用space(9),可将
??space(9)
??1
改为
??a

[ 本帖最后由 go2011 于 2011-6-2 00:00 编辑 ]
2011-06-01 23:44
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:20 
第二题:如果把数据存放在表里,也可以如下试试:
close all
M=5 && 数字排行数
cb="create table sjb ("
cdh=","
for n=1 to M
    if n=M
       cdh=''
    endif
    cb=cb+"a"+alltrim(str(n))+" i"+cdh
endfor
    cb=cb+")"
    &cb   
for n=1 to M
    append blank
endfor
    go top
    n=1  
 do while n=<M
    go top
      ai="a"++alltrim(str(n))   
      ni=(n-1)*(n-1)
    for t=1 to n
      replace &ai with ni+1
      ni=ni+1
      skip
    endfor
      skip-1
   
    for t=n-1 to 1 step -1
        ai="a"+alltrim(str(t))   
        replace &ai with ni+1
        ni=ni+1
    endfor
    n=n+1
 enddo   
 brow
 close all
 
2011-06-02 14:43
wendao6dh
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:31
专家分:74
注 册:2011-5-6
收藏
得分:0 
回复 4楼 go2011
谢谢啦~受益匪浅啊~

我相信满树的花朵只源于冰雪下的一颗种子。
2011-06-04 11:11
wendao6dh
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:31
专家分:74
注 册:2011-5-6
收藏
得分:0 
回复 5楼 qingfameng
感谢指导~!
不过对于我这样一个菜鸟加小白,程序有点复杂了啊~

不管怎么样,还是谢谢啦!

我相信满树的花朵只源于冰雪下的一颗种子。
2011-06-04 11:12
快速回复:急!几个数组问题~
数据加载中...
 
   



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

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