查看: 1650|回复: 5

请教1个数组问题

  [复制链接]
梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
发表于 2008-1-23 05:20:47 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
假如 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]修改成一样).如果按原始的一个个赋值,将是很大的工程量.

请教一下:有没有比较简单的解决方法,我就先谢谢了
版务信息:本贴由楼主自主结贴~
梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
回帖
1778
发表于 2008-1-23 05:33:12 | 显示全部楼层
其实我看不太懂楼主的意思
看看这样可行否

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

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2008-1-23 05:49:55 | 显示全部楼层
以下引用诡异の猫于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的方式进行修改.我想让这个修改步骤简化


回复

使用道具 举报

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
回帖
1260

贵宾

发表于 2008-1-23 05:55:01 | 显示全部楼层
index = [0, 1, 3]
a=[1,2,3,4,5]
for i in index
a = 你要的数值
end
-.-
回复

使用道具 举报

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
回帖
1778
发表于 2008-1-23 05:56:27 | 显示全部楼层
你的意思是你要修改的那些元素是你指定的么?
如果是的话神思大大的那个就可以...
如果你是要修改的元素是随机的我那个应该可以
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2008-1-23 06:03:21 | 显示全部楼层
以下引用神思于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个数不变,其他的都变成了"你要的数值"

哦,抱歉.你是对的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部