求易语言大神解答,为什么数组成员删除不成功

.版本 2
.支持库 spec

.程序集 窗口程序集1

.子程序 _按钮1_被单击
.局部变量 y, 整数型
.局部变量 号码, 整数型
.局部变量 数组数据2, 整数型, , "0"

数组数据 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 }
.计次循环首 (1000, )
置随机数种子 ()
延迟 (1500)
号码 = 取随机数 (1, 50)
数组数据2 = 数组数据

.计次循环首 (取数组成员数 (数组数据2), y)

.如果真 (号码 ≠ 数组数据2 [y])
删除成员 (数组数据2, y, 1)
跳出循环 ()

.如果真结束
删除成员 (数组数据2, 1, 1)
跳出循环 ()
.计次循环尾 ()
加入成员 (数组数据2, 号码)
数组数据 = 数组数据2
调试输出 (数组数据)
.计次循环尾 ()

我刚刚试了啊,可以删除数组,只是你这操作把我整蒙了,你到底想要的啥效果?


一直在按照你代码的操作删除着数组1,然后加入随机数

追问

就是要加入随机数,如果等于就删除数据数组2[y],不等于就删除第一个数,数组始终保持24个成员

追答

也没错啊,一直都保持这24个成员,你的代码本来就是只删除第一个数组,后面加一个数组,不管等不等于,你的代码都是删除第一个数组。

你这个循环其实就只是循环了一次,不管等不等于,你都跳出循环了,那当然是删除一个数组了

追问

如果等于加入随机数并且删除第一个数,如果不等于加入随机数并且删除数据数组[y],不能让数组里有重复的数字

追答

整蒙了,等于的话,加入随机数,删除第一个数组,,不等于的话,加入随机数,你基本也是删除第一个数组了,因为你的随机数大概率和第一个数组是不等于的,主要是我还不明白你想要的是啥!

如果是等于的话就删除数据数组[y],不等于的话,就删除第一个,才能做到数组不重复

追问

如果是等于的话就删除数据数组[y],不等于的话,就删除第一个,才能做到数组不重复,是的就是这样

追答

追问

谢谢
就是想知道它为什么不执行这里

.如果(号码 ≠ 数组数据2 [y])
删除成员 (数组数据2, y, 1)
跳出循环 ()
为什么没有删除

追答

已经删除了,因为你的y就是1,随机数不等于数组数据2 [y],也是就是第一次循环,就已经是不等于了,然后自然就是删除第一个数组,你随机数和数组成员第一个大概率是不等于的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-04
删除数组成员建议用变量循环,把你的计次循环改成变量循环。
例:
变量循环首(取数组成员数(数组),1,-1,n)
如果真(某变量≠数组[n])
删除成员(数组,n,1)
如果真结束
变量循环尾()
这样就是从最后一个成员倒序比较后删除符合条件的成员,可以比较完全部数组成员。不用跳出循环,数组也不会越界。
像你那样写,比较完第二个成员就跳出循环了,那么就没必要用循环,你直接比较数组[2]后删除就行了。
第2个回答  2020-10-14
求易语言大神解答,为什么数组成员追问

你看看