iterative checking kod

By | March 15, 2010

 Merhabalar,

Bugün sizlerle bir script paylaşmak istedim. Geçen gün, bir ihtiyacım üzerine hazırladığım, daha doğrusu önce google’da arama tembelliğine kapılıp bulamayınca, nöronlara kuvvet deyip 10-15 dakikalık bir beyin jimnastiği ile hazırladığım bir kod.

Kodun amacı, benzersiz rastgele(random) sayı üretmek. İki aralık arasında (min, max) belirli sayıda sayı üretiyor..

Kod PHP ile yazdım ama, istenen dile rahatlıkla çevirilebilir..

$temp_dizi=array();

$dizi=array();

srand((double)microtime()*1000000);

for($i=0; $i<$sayi; $i++)

{

$kopya=’y’;

$random_number = rand($min,$max);

$temp_dizi[$i]=$random_number;

if($i!=0)

{

for($s=0; $s<$i; $s++)

{

if($random_number==$dizi[$s])

$kopya=’x’;

}

}

if($kopya==’x’)

$i=$i-1;

else

$dizi[$i]=$random_number;

}

Burda yapılan işlem şudur. Önce rastgele bir sayı oluşturulur. Bu sayıyı kabul etmeden once bir tane geçici diziye atılır. Oluşturulan her sayı bu dizideki sayılarla karşılaştırılır. Eğer, daha önce oluşturulmamışsa, bunu asıl diziye atıyor. Yok, eğer bir tekrar ise onu atlayıp başa dönüyor ve yeni sayı oluşturma mekanizması yeniden başlıyor..

Herkese iyi günler…

Leave a Reply

Your email address will not be published. Required fields are marked *

*