View Full Version : سوال: درخواست کد ایجاد اعداد رندم بدون تکرار
  
mtn677
سه شنبه 11 تیر 1392, 22:20 عصر
سلام
کدی می خوام که با فشردن یک دکمه، از بین اعداد 1 تا 100 به صورت تصادفی یک عدد صحیح انتخاب بشه و هر بار که دکمه رو فشردم یک عدد تصادفی انتخاب بشه ولی عدد تکراری نباشه یعنی اگر یکبار 20 انتخاب شد دیگه تا آخر 20 انتخاب نشه و وقتی که تمام اعداد تکراری شدن(یعنی وقتی 100 بار دکمه فشرده شد) باز فرآیند تکرار بشه.
mehran901
سه شنبه 11 تیر 1392, 23:32 عصر
سلام
کدی می خوام که با فشردن یک دکمه، از بین اعداد 1 تا 100 به صورت تصادفی یک عدد صحیح انتخاب بشه و هر بار که دکمه رو فشردم یک عدد تصادفی انتخاب بشه ولی عدد تکراری نباشه یعنی اگر یکبار 20 انتخاب شد دیگه تا آخر 20 انتخاب نشه و وقتی که تمام اعداد تکراری شدن(یعنی وقتی 100 بار دکمه فشرده شد) باز فرآیند تکرار بشه.
Randomize
(Int(Rnd() * 100
تولید اعداد تصادفی کمتر از 100 و البته ممکنه اعدادی در مراحلی دوباره تکرار بشن ... اگه خیلی مهمه که اصلا تکراری نباشه باید ی برنامه بنویسین اعداد جدید رو با اعداد قبلی که سیو کردیم مقایسه کنه اگه تکراری داشت باز عدد تولید بشه
mtn677
چهارشنبه 12 تیر 1392, 00:08 صبح
Randomize
(Int(Rnd() * 100
اگه خیلی مهمه که اصلا تکراری نباشه باید ی برنامه بنویسین اعداد جدید رو با اعداد قبلی که سیو کردینم مقایسه کنه اگه تکراری داشت باز عدد تولید بشه
 
منم دقیقا همینو می خوام:لبخندساده:ولی در تبدیل این الگوریتم به کد ناتوانم:لبخندساده:
دانشجوی تویسرکانی
چهارشنبه 12 تیر 1392, 00:17 صبح
سلام اعدادی که تولید میشه رو بزار داخل یک آرایه از نوع اینتجر با مقدار 100 - آرایه خودتون رو از نوع Public static تعریف کنید.
بعد زمانی که عدد رندوم تولید میشه رو  با یک حلقه آرایه 100 تایی رو چک کنه اگه بود 1 رقم بره بالا
mtn677
چهارشنبه 12 تیر 1392, 00:19 صبح
Randomize
(Int(Rnd() * 100
ه
 
این کد که نوشتی با این کد چه فرقی داره؟
Randomize Timer
Int(Rnd * 10 )
mehran901
چهارشنبه 12 تیر 1392, 00:37 صبح
این کد که نوشتی با این کد چه فرقی داره؟
Randomize Timer
Int(Rnd * 10 )
 درواقع اون آرگمان اختیاری ی شماره رو به دستور randomize  اختصاص میده تا درصورت چندین بار استفاده ، هر دستور بتونه مستقل از دستور های دیگه کد راندوم تولید کنه البته اصلا مهم نیس اینا 
درحالت کلی مثلا واسه تولید اعداد تصادفی بین 1 تا 100 اینطوری مینویسین :
int((rnd * 100) + 1 ) 
بین 1 و 100 تولید میشه من تو پست اول اینو مطرح نکردم چونبه نظرم ضروری نیومد
vbhamed
چهارشنبه 12 تیر 1392, 22: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, 12:26 عصر
سلام . اینم سورسی که خواسته بودی ... 
امیدوارم بدردت بخوره ... موفق و پیرور باشی در پناه خدا .... یاعلی
vbhamed
پنج شنبه 13 تیر 1392, 13:20 عصر
سلام
كد يك مشكل كوچولو داشت كه تو همون پست اصلاح شد
fara sami
دوشنبه 07 مرداد 1392, 13:37 عصر
سلام میخوام تو radgrid وقتی کسیو ثبت کردم user و pass  یه عدد 8 رقمی random تولیدکنه امانمیدونم چه جوری؟؟؟؟؟؟؟؟؟:ناراحت:
لطفا کمک کنید
m.4.r.m
دوشنبه 07 مرداد 1392, 15: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-1404, Jelsoft Enterprises Ltd.