(۱۳-اردیبهشت-۱۳۸۴, ۱۸:۵۶:۵۰)ha_60 نوشته است: [ -> ]تاييد نميشه
نقل قول: ميشه مستقيما تضمين كرد كه هيج عدد تصادفي تكراري توليدنميشه يا خير؟
اگه 11 عدد تصادفي صحيح بين يك تا 10 توليد كني حتما يكي تكراري خواهد بود و حتي هر 11 عدد هم مي توانند برابر باشند
و اما روش تا اونجا كه من مي دونم از روي تايمر اين عدد توليد ميشد و اگه از اون دستور Randomize استفاده نكني اين اعداد براي اجراي دوم با اجراي اول برابر خواهند بود (البته تو داس ويندوز رو نمي دونم)
هادی جان چرا 11؟ چی میشه که از هر11تا حداقل یک تصادفی هست؟
(۳۱-فروردین-۱۳۹۲, ۱۶:۳۲:۱۱)Ghoghnus نوشته است: [ -> ] (۱۳-اردیبهشت-۱۳۸۴, ۱۸:۵۶:۵۰)ha_60 نوشته است: [ -> ]تاييد نميشه
نقل قول: ميشه مستقيما تضمين كرد كه هيج عدد تصادفي تكراري توليدنميشه يا خير؟
اگه 11 عدد تصادفي صحيح بين يك تا 10 توليد كني حتما يكي تكراري خواهد بود و حتي هر 11 عدد هم مي توانند برابر باشند
و اما روش تا اونجا كه من مي دونم از روي تايمر اين عدد توليد ميشد و اگه از اون دستور Randomize استفاده نكني اين اعداد براي اجراي دوم با اجراي اول برابر خواهند بود (البته تو داس ويندوز رو نمي دونم)
هادی جان چرا 11؟ چی میشه که از هر11تا حداقل یک تصادفی هست؟
اصلا گور باباي كامپيوتر و كامپايلر و تابع RND!!
شما يك كاغذ و خودكار بردار از بين اعداد صحيح 1 تا 10 ،يازده تا عدد بنويس بعد بشمار ببين چندتاش تكراري هست!!
(۰۱-اردیبهشت-۱۳۹۲, ۱۵:۴۳:۴۲)Di Di نوشته است: [ -> ] (۳۱-فروردین-۱۳۹۲, ۱۶:۳۲:۱۱)Ghoghnus نوشته است: [ -> ] (۱۳-اردیبهشت-۱۳۸۴, ۱۸:۵۶:۵۰)ha_60 نوشته است: [ -> ]تاييد نميشه
نقل قول: ميشه مستقيما تضمين كرد كه هيج عدد تصادفي تكراري توليدنميشه يا خير؟
اگه 11 عدد تصادفي صحيح بين يك تا 10 توليد كني حتما يكي تكراري خواهد بود و حتي هر 11 عدد هم مي توانند برابر باشند
و اما روش تا اونجا كه من مي دونم از روي تايمر اين عدد توليد ميشد و اگه از اون دستور Randomize استفاده نكني اين اعداد براي اجراي دوم با اجراي اول برابر خواهند بود (البته تو داس ويندوز رو نمي دونم)
هادی جان چرا 11؟ چی میشه که از هر11تا حداقل یک تصادفی هست؟
اصلا گور باباي كامپيوتر و كامپايلر و تابع RND!!
شما يك كاغذ و خودكار بردار از بين اعداد صحيح 1 تا 10 ،يازده تا عدد بنويس بعد بشمار ببين چندتاش تكراري هست!!
حرف شما درست ولی وقتی دقیق میگه11یعنی این وسط یه اتفاقی میوفته که یازده تا حداقل یکی تکراری هست!اون چیزی که باعث میشه هادی جان دقیقا بگه 11واسم جاله!
(۰۲-اردیبهشت-۱۳۹۲, ۱۴:۳۰:۴۹)Ghoghnus نوشته است: [ -> ] (۰۱-اردیبهشت-۱۳۹۲, ۱۵:۴۳:۴۲)Di Di نوشته است: [ -> ] (۳۱-فروردین-۱۳۹۲, ۱۶:۳۲:۱۱)Ghoghnus نوشته است: [ -> ] (۱۳-اردیبهشت-۱۳۸۴, ۱۸:۵۶:۵۰)ha_60 نوشته است: [ -> ]تاييد نميشه
نقل قول: ميشه مستقيما تضمين كرد كه هيج عدد تصادفي تكراري توليدنميشه يا خير؟
اگه 11 عدد تصادفي صحيح بين يك تا 10 توليد كني حتما يكي تكراري خواهد بود و حتي هر 11 عدد هم مي توانند برابر باشند
و اما روش تا اونجا كه من مي دونم از روي تايمر اين عدد توليد ميشد و اگه از اون دستور Randomize استفاده نكني اين اعداد براي اجراي دوم با اجراي اول برابر خواهند بود (البته تو داس ويندوز رو نمي دونم)
هادی جان چرا 11؟ چی میشه که از هر11تا حداقل یک تصادفی هست؟
اصلا گور باباي كامپيوتر و كامپايلر و تابع RND!!
شما يك كاغذ و خودكار بردار از بين اعداد صحيح 1 تا 10 ،يازده تا عدد بنويس بعد بشمار ببين چندتاش تكراري هست!!
حرف شما درست ولی وقتی دقیق میگه11یعنی این وسط یه اتفاقی میوفته که یازده تا حداقل یکی تکراری هست!اون چیزی که باعث میشه هادی جان دقیقا بگه 11واسم جاله!
اصل لانه کبوتر!
هرگاه 11 انتخاب ما بخواهد بین 10 عدد ممکن اتفاق بیوفتد حتما حداقل یکی از انتخاب ها تکراری است
(n لانه و n+1 کبوتر)
با سلام خدمت اونایی ک در ب در دنبال اعداد تصادفی غیر تکراری میگردن

خیلی راحته ببینید فرض میکنیم از بین 10 تا 20 پنج تا عدد میخوایم ک تصادفی انتخاب بشن
کافیه اعداد 10 تا 20 رو تو یه لیست قرار بدیم.بعد:
Int((10 * Rnd()) + 1)
عدد بدست اومده مثلا 4. حالا کافیه چهارمین عدد لیست چاپ بشه و البته همون عدد باید از لیست خارج کنین.
بعد باید از اون عدد جلوی rnd یکی کم بشه چون الان لیستمون 9تا عدد داره.یعنی :
Int((9 * Rnd()) + 1)
فکر کنم دیگه توضیح لازم نباشه...
نمیخواین ازم تشکر کنین ؟

ببینین عزیزان دلبندم

اول اعداد یا گزینه هاتونو تو یه آرایه یا لیست قرار میدین مثلا 10 تا 20 رو تو لیست گذاشتیم حالا میخوایم از این لیست 5تا تصادفی انتخاب بشن.
حالا با این دستور:
call randomize
a=Int((10 * Rnd()) + 1)
الان یه عدد تصادفی از 1 تا 10 انتخاب میشه ک همون a میشه
فرض میکنیم 3 باشه.حالا باید بهش کد بدی که آیتم شماره 3 رو چاپ کنه و البته از لیست حذفش کنه.
حالا لیستمون 9تا آیتم داره:
a=Int((9 * Rnd()) + 1)
حالا یه عدد از 1 تا 9 انتخاب میشه.مثلا 8.آیتم شماره 8 چاپ بشه و از لیست حذف بشه.حالا لیست 8تا آیتم داره.همین روال رو ادامه میدیم تا 5تا عدد رو بدست بیاریم.از حلقه for اسنفاده کن.
اومدیم باز تکراری داد ! شما میای با گول زدن خودت اینکارو میکنی چون هر باز میای چک میکنی شبیه لیست نباشه عدد شما ! این نمیشه فرمول این میشه Back dor فکر کنم دوستان دنبال یه الگریتمن تا یه arraye که بخوای دستکاری کنی !؟
(۲۱-اردیبهشت-۱۳۹۲, ۱۶:۴۶:۵۰)setroyd نوشته است: [ -> ]اومدیم باز تکراری داد !
تمام الگوریتمهای تولید عدد تصادفی عدد تکراری میدن بعد از یک مدت!
دوباره سلام.
راه حلی که من دادم تکراری نمیده.به فرض RND به ما 3 بده.آیتم شماره 3 موجود در لیست چاپ میشه و از لیست حذف میشه.حالا اگر RND بازم 3 داد ؛ دیگه آیتم شماره 3 موجود در لیست اون عدد قبلی نیست چون آیتم شماره 3 پاک شده و یه عدد دیگه جایگزین شده.تست کن تا متوجه منظورم بشی