设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1355|回复: 5
打印 上一主题 下一主题

请教1个数组问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
跳转到指定楼层
1
发表于 2008-1-23 05:20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

请教一下:有没有比较简单的解决方法,我就先谢谢了
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
2
发表于 2008-1-23 05:33:12 | 只看该作者
其实我看不太懂楼主的意思
看看这样可行否

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
3
 楼主| 发表于 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的方式进行修改.我想让这个修改步骤简化


回复 支持 反对

使用道具 举报

Lv1.梦旅人

彩色的银子

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

贵宾

4
发表于 2008-1-23 05:55:01 | 只看该作者
index = [0, 1, 3]
a=[1,2,3,4,5]
for i in index
a = 你要的数值
end
-.-
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
6
 楼主| 发表于 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个数不变,其他的都变成了"你要的数值"

哦,抱歉.你是对的
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-26 16:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表