主题:新手跪求一编程,大家别怕麻烦啊!
1125714
[专家分:0] 发布于 2007-03-09 17:15:00
产生10个不同的随即数放入一数组,将该数组放入二数组。如果一数组有相同数,那么在二数组就装一个。
我在编程的过程中发现 在一数组产生 10,11,20,11,18,19,35,10,55,63
那么存入二数组 10,11,20,0,18,19,35,0,55,63
显示的时候会显示出0。 该如何才能让二数组的数据变成10,11,20,18,19,35,55,63,0,0 ??????[em8][em8][em8]
回复列表 (共5个回复)
沙发
QB71 [专家分:1300] 发布于 2007-03-09 19:04:00
你是不是要按从小到大顺序存放,将0放在最后?
如果是的话(假设数组二是B):
'------取数组中的0个数,并把0放到后面
count%=ubound(B)
for i%=0 to count%-n%
if B(i%)=0 then
n%=n%+1
swap B(i%),B(Count%-n%)
endif
next
'------给前面不为0的数排序
for i%=1 to Count%-N%-1
for j%= i%+1 to Count%-N%
if B(i%)>B(j%) then swap B(i%),B(j%)
next
next
板凳
moz [专家分:37620] 发布于 2007-03-09 21:01:00
for i=1 to 10
for j=1 to n
if a1(i)=a2(j) then exit for
next
if j>n then
n=n+1
a2(n)=a1(i)
endif
next
3 楼
FFKK [专家分:1610] 发布于 2009-07-05 16:27:00
cls
for i=1 to 10
for j=1 to n
if a1(i)=a2(j) then exit for
next j
if j>n then
n=n+1
a2(n)=a1(i)
endif
next i
end
4 楼
xiaoqiong272 [专家分:0] 发布于 2009-07-07 10:03:00
其实那个0是自动添加在数组的末尾的,你考虑这个编一下就好了
5 楼
何子彧qb [专家分:0] 发布于 2009-12-03 20:53:00
我的容易理解:
CLS
FOR i = 1 TO 9
FOR j = i TO 10
IF a(i) < a(j) THEN SWAP a(i), a(j)
NEXT j, i
FOR i = 1 TO 10
IF a(i) = 0 THEN s = s + 1
IF a(i) <> 0 THEN EXIT FOR
NEXT i
FOR i = s + 1 TO 10
PRINT a(i);
NEXT i
FOR j = 1 TO s
PRINT 0;
NEXT j
我来回复