JPriest

Kayıt : 9 Mart 2007 İstanbul--Çanakkale
|
|
Selamlar,
Php ile belirli bir boyuttaki dizi indexi kadar sayıyı diziye random atmam gerekiyor ve her eleman yalnızca 1 defa kullanılmalı. Örneğin 1 - 50 arasındaki sayıları 50 elemanlı bir diziye random şekilde atmalıyım.
Olay aslında basit, yaptım zaten ama kullandığım algoritma biraz dandik gibi. Teoride sonsuza kadar random sayı üretmeye çalışabilir. Bu işlem için önerebileceğiniz en verimli yöntem nedir?
Sen hiç kaval çaldın mı?
|
snnyk

Kayıt : 28 Mayis 2007
|
|
http://snnyk.com
|
|
|
50 elemanlı bir array oluştursun...
Sonra her rastgele sayı üretiminde arraydan bir nesneyi çıkarırsın...
böylelikle iki defa aynı sayıyı üretmemiş olursun...
Bir web sitesinin güvenliği hakkındaki kaygılarımız, aynı web sitesinin görselliği hakkındaki estetik kaygılarımızdan önce gelir. Demem odur ki babayiğit, bir web sitesinin güvenliği herşeyden önce gelir, senden bile.. Çünkü burası Tahribat tır... {Babayiğit lafı ilk defa 4 Şubat 2012 Saat: 22:33 de cicosz tarafından söylendi.. Bu da bunun notu olsun }
|
|
|
1 den 50 ye kadar elemanları sırayla içeren bir array oluştur. Sonra da bir shuffle fonksiyonu yaz.
shuffle fonksiyonu da 1 den 50 ye kadar random 2 sayı üretip o iki index teki değerleri swap yapsın. Shuffle fonksiyonu istediğin sayıda (300-500) çağır
Hiç bir eleman kendi indexinde kalmasın diyosan +5 kaydırma yap bütün elemanlara
gibi gibi üretilebilir.
Bütün mesajlarım ve konularım BSD Lisansı"yla lisanslanmıştır.
|
JPriest

Kayıt : 9 Mart 2007 İstanbul--Çanakkale
|
|
Eyvallah. Konuyu açtıktan sonra SerYolcu'nun yöntemiyle yapmıştım, burda da aynısını gördüm iyi oldu ama shuffle olayı da iyimiş. Teşekkürler tavsiyeler için.
Sen hiç kaval çaldın mı?
|
|