«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
بهترین الگوریتم تولید n عدد تصادفی بدون تکرار در گیم میکر+vb6 + basic4android+یونیتی+سیشارپ :: برنامه نویسی+طراحی وب+ساخت بازی+نرم افزار +اپلیکیشن

برنامه نویسی+طراحی وب+ساخت بازی+نرم افزار +اپلیکیشن

gameover private channel
لینک کانال خصوصی گیم اور
https://t.me/gameoverblog

هر پکیجی که توان خریدش ندارید رایگان.اگه مشکل مالی ندارید حمایت کنید.
-
اعمالی که انجام می دهیم، اگر ذره ای و مثقالی باشد، به خودمان باز می گردد و بازتابش آنها را در زندگی خواهیم دید.زلزال۷
او کسی است که (روح) شما را در شب (به هنگام خواب) میگیرد; و از آنچه در روز کرده ‏اید، با خبر است; سپس در روز شما را(از خواب) برمیانگیزد; و (این وضع همچنان ادامه مییابد) تا سرآمد معینی فرا رسد; سپس بازگشت شما به سوی اوست; و سپس شما را از آنچه عمل میکردید، با خبر میسازد.انعام۶۰
دلها به یاد خدا آرام میگیرد.رعد ۲۷
زندگی دنیا تنها بازی و سرگرمی، و تجمل پرستی و تفاخر در میان شما و افزون طلبی در اموال و فرزندان است . حدید 20
آن خدایی که آدمی را از خون بسته (که تحول نطفه است) بیافرید
بخوان و (بدان که) پروردگار تو کریم‌ترین کریمان عالم است
آن خدایی که بشر را علم نوشتن به قلم آموخت
به آدمی آنچه را که نمی‌دانست تعلیم داد.
راستی که انسان سرکش و مغرور می‌شود.
چون که خود را در غنا و دارایی ببیند. علق ۲- ۷
این زندگانی چند روزه دنیا افسوس و بازیچه‌ای بیش نیست، عنکبوت ۶۴
در روی زمین به تکبر راه مرو که نمی توانی زمین را بشکافی و هرگز قامتت به بلندای کوهها نمی رسد. اسرا ۳۷
در آنچه خداوند بر تو بخشیده است، سرای آخرت را بجوی و سهم خود را از دنیا فراموش مکن و همانگونه که خدا به تو نیکی کرده است نیکی کن و هرگز فساد در زمین منما که خدا مفسدان را دوست ندارد. قصص ۷۷
و هرگاه نعمت و رحمتی به انسان بچشانیم و سپس آن را از او برگیریم او مأیوس و نومید میشود و به کفران و ناسپاسی بر میخیزد. هود ۹
بندگان مرا آگاه ساز که من بسیار آمرزنده و مهربانم.حجر۴۹
از رحمت خدا ناامید مباشید جز کافر هیچ کس از رحمتش نا امید نیست.یوسف۸۷
پس به یاد من باشید تا به یاد شما باشم. بقره ۱۵۲
زندگانی دنیا جز متاع فریبنده نیست . آل عمران ۱۸۵
از آنچه به شما روزی داده ایم پیش از آنکه روزی فرا رسد که نه معامله ای وجود دارد و نه دوستی و شفاعت ، انفاق کنید. بقره ٢۴۵
بسا چیزی را ناخوش داشته باشید که آن به سود شماست و بسا چیزی را دوست داشته باشید که به زیان شماست، و خدا میداند و شما نمیدانید. بقره۲۱۶
آیات (خود) را برای شما بیان کردیم شاید اندیشه کنید...حدید۱۷

پیوندهای روزانه
پیوندها

تا آخرش بخونید لطفا

http://gameover.blog.ir

منبع :

http://promakers.ir/showthread.php?tid=10091&pid=108607

در کدهای ارائه قبلی توسط سایر دوستان،تولید اعداد تصادفی محدود بود اما اینجا من یاد میدیم تا تعداد تقریبا نامحدود عدد تصادفی تولید کنیم.
اینم الگوریتم و کد کاملا تست شده ای که بعد از چند روز فکر کردن بالاخره نوشتمش.

//game maker script
//Generating random numbers without repeating
//Author:sajjad3011....gameover.blog.ir....
//
n=8
a[0]=irandom_range(0,n)
for(i=1;i<=n;i++)
{
a[i]=irandom_range(0,n);
for(j=0;j<=(i-1);j++)
 {
   if(a[i]==a[j])
   {
    a[i]=irandom_range(0,n);
    j=0;i--;
   }//if
  }//for j
}//for i
-----------
حالا برای VB6 :

یک listview و یک command button بذارید روی فرم حله

http://s5.picofile.com/file/8153302468/random_bi_tekrar_vb6.jpg

اینم کد دیگه چی میخوایدbig grin :

کد:
'Author:sajjad3011
Private Sub Command1_Click()
List1.Clear

Const n = 9
Dim a(0 To n) As Integer


' Generate random value between 1 and n
a(1) = CInt(Int((n * Rnd()) + 1))

For i = 2 To n
a(i) = CInt(Int((n * Rnd()) + 1))
For j = 1 To i - 1
   If (a(i) = a(j)) Then
  
   a(i) = CInt(Int((6 * Rnd()) + 1))

    j = 1
    i = i - 1
   End If 'if
  Next j 'or j
Next i 'for i

For i = 1 To UBound(a)
List1.AddItem (a(i))
Next i
End Sub




'----------------------------
حالا بهترین الگوریتم برای تولید اعداد تصادفی :
منبع :
https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
در روش های قبلی از همون اول عناصر رو به رندوم تولید می کردیم و بررسی می کردیم و به صورت غیر تکراری توی عناصر آرایه می ریختیم این کار بهینه نیست.
در این روش  دو مرحله ی ساده رو انجام می دیم:

1. ابتدا اعداد 0 تا n-1 رو می ریزیم توی خونه های آرایه.
2. سپس می یایم محتوای خونه های آرایه رو به صورت رندوم جابجا می کنیم با هم.
اینم الگوریتمش :
for i from 0 to n − 2 do
       j ← random integer such that i ≤ j < n
       exchange a[j] and a[i]
نکته:
توی یونیتی تابع تولید عدد تصادفی اینه (خودتون می تونید ازش الگو بگیرید با الگوریتم بالا):

Random.Range(min,max)




مثال سیشارپ:

for(k=0;k<myarr.length-2;k++)
{
a = random.range(0,n);
b = random.range(0,n);

temp=myarr[a];
myarr[a]=myarr[b];
myarr[a]=temp;

}
موافقین ۰ مخالفین ۰ ۹۴/۰۵/۱۴
مدیرکل

نظرات (۱)

سلام من یک الگوریتم می خوام که اینطوری بشماره مثلا 11 رو می خواد بخونه....ما بنویسم 1#1  بعد بگیم ابتدا # حذف کن بعد با کنار هم قرار دادن اعداد یک کنار یک بشه 11  ...برای ضد هک برنامه می خوام میشه؟ ممنون
پاسخ:
بیا توی کانال و گروه تلگرام ما از بچه ها بپرس
@gameoverblog

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی