Project1

标题: 请教1个数组问题 [打印本页]

作者: sizz123    时间: 2008-1-23 05:20
标题: 请教1个数组问题
假如 a=[1,2,3,4,5]

我想将数组中其中的2个,或2个以上的数修改成一样的数据,
比如:a=[1,6,3,6,5],也就是把a[1]和a[3]都修改成6

问题
假如数组比较大的时候,比如a.size>某个很大的数.而我要让其中任意两个或两个以上数都一样(比如把a[1],a[3],a[11]修改成一样).如果按原始的一个个赋值,将是很大的工程量.

请教一下:有没有比较简单的解决方法,我就先谢谢了 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 诡异の猫    时间: 2008-1-23 05:33
其实我看不太懂楼主的意思
看看这样可行否

b = rand(a.size-2)+1
for i in 0..b
  a[rand(a.size-1)] = 你要修改成的值
end
作者: sizz123    时间: 2008-1-23 05:49
以下引用诡异の猫于2008-1-22 21:33:12的发言:

其实我看不太懂楼主的意思

b = rand(a.size-2)+1
for i in 0..b
a[rand(a.size-1)] = 你要修改成的值
end


要修改的数我知道,也不是随机修改

比如:数组a是个很大的数组,我要统一修改数组中的2个或2个以上的数组元素,可以通过
a[3]=a[5]=a[7]=5的方式进行修改.我想让这个修改步骤简化



作者: 神思    时间: 2008-1-23 05:55
index = [0, 1, 3]
a=[1,2,3,4,5]
for i in index
a = 你要的数值
end
作者: 诡异の猫    时间: 2008-1-23 05:56
你的意思是你要修改的那些元素是你指定的么?
如果是的话神思大大的那个就可以...
如果你是要修改的元素是随机的我那个应该可以 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: sizz123    时间: 2008-1-23 06:03
以下引用神思于2008-1-22 21:55:01的发言:

index = [0, 1, 3]
a=[1,2,3,4,5]
for i in index
a = 你要的数值
end


测试不成功
用你的方法,得到的结果是a[0], a[1], a[3]这3个数不变,其他的都变成了"你要的数值"

哦,抱歉.你是对的





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1