【樓主】nextrr2012-11-25 16:53
» 在1到49間抽6個不同的數(shù)為一組,抽五組。問題來了,運(yùn)行結(jié)果每組數(shù)都有可能有幾個數(shù)相同,怎么破?用if判斷是不是與上一個數(shù)相同,控制cout與heng++?但是不用數(shù)組的情況下要怎么表示上一個數(shù)? 改動
作者:euphoria2012-11-25 16:55
6組數(shù),每組6個為啥判定一個是5一個是6呢...
作者:nextrr2012-11-25 16:56
Post by euphoria (2012-11-25 16:55)
作者:柒刖2012-11-25 17:03
純灌水,, 感覺學(xué)這個的都是大神級別的人物
作者:涅盤的碼農(nóng)2012-11-25 17:07
用hashset或者treeset
作者:隨欲的風(fēng)2012-11-25 17:10
看你的代碼風(fēng)格我覺得你以前有可能是學(xué)java的。。。。開始上手就是C/C++的話大括號一般不這樣搞。
作者:krela2012-11-25 17:14
用個容器把產(chǎn)生的值先存起來,每當(dāng)產(chǎn)生一個新隨機(jī)值先在容器里判斷有沒有,沒有的話就打印,插入容器
作者:三橙賊法牧2012-11-25 17:17
這樣一點(diǎn)也不“面向?qū)ο蟆薄阋槌霾煌臄?shù),是不可能一點(diǎn)兒額外空間都不使用的。要是我做的話,就弄一個1到49的鏈表串起來,你每從表里取掉一個數(shù),就從表里剔除掉一個數(shù),這樣就不會重復(fù)……但是浪費(fèi)時間,N很小的情況下這樣鬧著玩不錯。你是從N個數(shù)里取M個不同的。一般情況都是N很大而M很小,老老實實比較已經(jīng)取出的<M個數(shù)是否重復(fù)就是了。這M個數(shù)用紅黑樹或者普通樹保存起來就查得快了。如果逐個查詢會很慢。如果N巨大而M也相對較大,則引入新的數(shù)據(jù)結(jié)構(gòu)來搞定。好像叫什么2B樹。
作者:oneday5212012-11-25 17:20
用數(shù)組x(50),元素是布爾量。初始化所有元素為零。開始獲取六個數(shù)字:隨機(jī)抽取一個數(shù),如果抽出的是z,檢查x(z)是否為0,是0則成功獲取z,并設(shè)置它為1;如果是1,則不成功,重新獲取一次。重復(fù)上述步驟直到六個數(shù)字獲取完成改動
作者:oneday5212012-11-25 17:26
你這題要求是什么啊?床幻靼
作者:九尾感應(yīng)炮2012-11-25 17:29
作者:nextrr2012-11-25 17:31
c都說了還沒學(xué)數(shù)組了。。你們說那些高端的詞語我看不懂啊。。。改成這樣,但是編譯沒通過。
作者:sun1988012272012-11-25 17:35
搞一個數(shù)組,記錄每個數(shù)被用的狀態(tài)。開始都為0,哪個數(shù)被用了就置為1 c都說了..不懂就去學(xué)。 [s:39]
作者:逐水而居2012-11-25 19:34
不用數(shù)組,要么你把1到49拼成字符串,中間用逗號分隔,例如“1,2,3,4,……48,49”。然后隨機(jī)從字符串中取出數(shù)值,并且去除該數(shù)值。需要用到一些字符串函數(shù)。