View Full Version : سوال: درخواست کد ایجاد اعداد رندم بدون تکرار
mtn677
سه شنبه 11 تیر 1392, 21:20 عصر
سلام
کدی می خوام که با فشردن یک دکمه، از بین اعداد 1 تا 100 به صورت تصادفی یک عدد صحیح انتخاب بشه و هر بار که دکمه رو فشردم یک عدد تصادفی انتخاب بشه ولی عدد تکراری نباشه یعنی اگر یکبار 20 انتخاب شد دیگه تا آخر 20 انتخاب نشه و وقتی که تمام اعداد تکراری شدن(یعنی وقتی 100 بار دکمه فشرده شد) باز فرآیند تکرار بشه.
mehran901
سه شنبه 11 تیر 1392, 22:32 عصر
سلام
کدی می خوام که با فشردن یک دکمه، از بین اعداد 1 تا 100 به صورت تصادفی یک عدد صحیح انتخاب بشه و هر بار که دکمه رو فشردم یک عدد تصادفی انتخاب بشه ولی عدد تکراری نباشه یعنی اگر یکبار 20 انتخاب شد دیگه تا آخر 20 انتخاب نشه و وقتی که تمام اعداد تکراری شدن(یعنی وقتی 100 بار دکمه فشرده شد) باز فرآیند تکرار بشه.
Randomize
(Int(Rnd() * 100
تولید اعداد تصادفی کمتر از 100 و البته ممکنه اعدادی در مراحلی دوباره تکرار بشن ... اگه خیلی مهمه که اصلا تکراری نباشه باید ی برنامه بنویسین اعداد جدید رو با اعداد قبلی که سیو کردیم مقایسه کنه اگه تکراری داشت باز عدد تولید بشه
mtn677
سه شنبه 11 تیر 1392, 23:08 عصر
Randomize
(Int(Rnd() * 100
اگه خیلی مهمه که اصلا تکراری نباشه باید ی برنامه بنویسین اعداد جدید رو با اعداد قبلی که سیو کردینم مقایسه کنه اگه تکراری داشت باز عدد تولید بشه
منم دقیقا همینو می خوام:لبخندساده:ولی در تبدیل این الگوریتم به کد ناتوانم:لبخندساده:
دانشجوی تویسرکانی
سه شنبه 11 تیر 1392, 23:17 عصر
سلام اعدادی که تولید میشه رو بزار داخل یک آرایه از نوع اینتجر با مقدار 100 - آرایه خودتون رو از نوع Public static تعریف کنید.
بعد زمانی که عدد رندوم تولید میشه رو با یک حلقه آرایه 100 تایی رو چک کنه اگه بود 1 رقم بره بالا
mtn677
سه شنبه 11 تیر 1392, 23:19 عصر
Randomize
(Int(Rnd() * 100
ه
این کد که نوشتی با این کد چه فرقی داره؟
Randomize Timer
Int(Rnd * 10 )
mehran901
سه شنبه 11 تیر 1392, 23:37 عصر
این کد که نوشتی با این کد چه فرقی داره؟
Randomize Timer
Int(Rnd * 10 )
درواقع اون آرگمان اختیاری ی شماره رو به دستور randomize اختصاص میده تا درصورت چندین بار استفاده ، هر دستور بتونه مستقل از دستور های دیگه کد راندوم تولید کنه البته اصلا مهم نیس اینا
درحالت کلی مثلا واسه تولید اعداد تصادفی بین 1 تا 100 اینطوری مینویسین :
int((rnd * 100) + 1 )
بین 1 و 100 تولید میشه من تو پست اول اینو مطرح نکردم چونبه نظرم ضروری نیومد
vbhamed
چهارشنبه 12 تیر 1392, 21:56 عصر
سلام
كد زير رو در يك ماژول بنويسيد
اين براي اعداد 1 تا 100 كار ميكنه، براي تغيير رنج در كد زير عدد 100 و 99 رو تغيير بدين
Dim nums$, Count%
Function MakeRandomNumber() As Integer
Randomize Timer
Dim x%
If Count = 100 Then
Count = 0
nums = ""
End If
Do
x = (Rnd * 99) + 1
DoEvents
If InStr(nums, "|" & CStr(x) & "|,") = 0 Then Exit Do
Loop
nums = nums & "|" & CStr(x) & "|,"
Count = Count + 1
MakeRandomNumber = x
End Function
و يك دكمه و يك ليست در فرم بزاريد و كد زير رو در فرم بنويسيد
Private Sub Command1_Click()
List1.AddItem MakeRandomNumber
End Sub
program2vb
پنج شنبه 13 تیر 1392, 11:26 صبح
سلام . اینم سورسی که خواسته بودی ...
امیدوارم بدردت بخوره ... موفق و پیرور باشی در پناه خدا .... یاعلی
vbhamed
پنج شنبه 13 تیر 1392, 12:20 عصر
سلام
كد يك مشكل كوچولو داشت كه تو همون پست اصلاح شد
fara sami
دوشنبه 07 مرداد 1392, 12:37 عصر
سلام میخوام تو radgrid وقتی کسیو ثبت کردم user و pass یه عدد 8 رقمی random تولیدکنه امانمیدونم چه جوری؟؟؟؟؟؟؟؟؟:ناراحت:
لطفا کمک کنید
m.4.r.m
دوشنبه 07 مرداد 1392, 14:50 عصر
Function RandomString(cb As Integer) As String
Randomize
Dim rgch As String
rgch = "0123456789"
Dim i As Long
For i = 1 To cb
RandomString = RandomString & Mid$(rgch, Int(Rnd() * Len(rgch) + 1), 1)
Next
End Function
Private Sub Command1_Click()
Text1.Text = RandomString(8)
End Sub
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.