generisanje loto brojeva

1

generisanje loto brojeva

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Zanima me kako ovo da napravim?

http://www.johnson.co.za/

Dakle kad kliknem na dugme da mi se nasumice generisu neki brojevi. Ja bih znao da napravim ovaj drugi deo da generisem brojeve, ali ovo sa slicicama ne bas. Problem mi je jos sto generisanu kombinaciju moram da zapisem u bazu pa ako mi je ta kombinacija smjestena u nekom array[] kako da je sacuvam u bazi? Ne znam da li sam bio jasan?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Ako znas da uradis algoritamski generisanje brojeva, onda za ovaj drugi deo nije toliko tesko.
Osnovna ideja i najlaksa bi bila da imas 39 slicica sa brojevima i da ides redom sa if-om i ispitujes koji broj je izvucen i tu slicicu ucitavas...

A za ovoda je u array a treba u bazu:
Mozes da napravis jeda prazan string
$kombinacija = "";
Zatim foreach petljom prodjes kroz array
i stavis
$kombinacija +=$toIzPetlje+" ";
tako da ces na kraju imati brojevece u obliku
3 4 5 6 7.....



offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Evo mene opet, moram da ozivim ovu temu.

Uspio sam da napravim nesto, znaci da generisem loto brojeve(stampam slicice), ali bi trebalo nekako da sortiram ove brojeve. Funkcija sort radi samo za nizove, da li postoji neka koja bi se ovdje mogla primijeniti ? Mozda neko zna i jednostavnije resenje za sve ovo

// Total $total = "49"; // Tip slike $file_type = ".gif"; // Lokacija slicica $image_folder = "images/random"; // Petlja for($i=0;$i<7;$i++) { $start = "1"; $random = mt_rand($start, $total); $image_name = $random . $file_type; echo "<img src=\"$image_folder/$image_name\" alt=\"$image_name\" />";

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Za sortiranje mozes koristiti klasican algoritam uporedjivanja
Ako ti nije problem implementiraj ga u php-u
Ja sam trenutno iscrpljen za bilo sta
http://www.mycity.rs/Opste-programiranje/Neki-pozn.....acije.html
tu sam pisao, nadji sortiranje , ima ga u c-u samo pretoci u php ...
Ako se ne snadjes, mogu sutra poraditi na tome...

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Pa znam ja u C da sortiram niz u opadajucem i rastucem redosledu ali to i jeste problem sto ne znam da primenim na ovaj primer. Meni je ovo potpuno jasno:

void selectionSort(int numbers[], int array_size) { int i, j; int min, temp; for (i = 0; i < array_size-1; i++) { min = i; for (j = i+1; j < array_size; j++) { if (numbers[j] < numbers[min]) min = j; } temp = numbers[i]; numbers[i] = numbers[min]; numbers[min] = temp; } }

Kako ja uopste da prodjem kroz ovaj moj $total i da ih uporedjivam i ispisem u rastucem redosledu Sad

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Ne prolazis kroz total, nego napravi neki niz i u njega
niz[$i] = $random;
da sacuvas sve brojeve, a onda po ugledu na ovo sto si stavio u C-u, uradis isto za $niz[]
ako razumes Smile

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Napisano: 11 Sep 2011 22:10

ahaaaaaaa Smile tako mi reci Smile Pa rekoh kako cu proci kroz $total kad to nije niz Very Happy. Pokusacu pa se javljam sta sam uradio Wink

Dopuna: 12 Sep 2011 14:18

Iskoristio sam ovo najjednostavnije sortiranje, ali ne dobijem nista osim gomilu gresaka tipa:

Undefined offset: 4 in C:\wamp\www\loto.php on line 45 Undefined offset: 5 in C:\wamp\www\loto.php on line 45 itd a ta linija 45 je : if ($niz[$j] < $niz[$min])

I na ovoj liniji javlja istu gresku:
$niz[$i] = $niz[$min];

$niz[$i]=$random;           $min=$i;       for ($j=$i+1; $j<7; $j++)       {          if ($niz[$j] < $niz[$min])          $min = $j;       }    $temp = $niz[$i];    $niz[$i] = $niz[$min];    $niz[$min] = $temp;        echo $niz[$i];

Da napomenem da on meni ipak izlista neke brojeve jedan ispod drugog, ne sortirane i nalaze se u sumi ovih gresaka. Moze pomoc kako ovo da uglavim u ovu moju logiku?

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

<?php // generisanje 7 random brojeva od 1 do 39 //dobijemo npr: $niz[0]=15; $niz[1]=12; $niz[2]=25; $niz[3]=5; $niz[4]=11; $niz[5]=17; $niz[6]=2; //stampa prvo da vidis kako izgleda for($i=0 ; $i<7 ; $i++ )    {       echo $niz[$i] . "<br />";    } //sortiranje for($i=0 ; $i<7 ; $i++ )    {    $min = $i;    for($j=$i+1 ; $j< 7 ; $j++)       if($niz[$min] > $niz[$j])          $min = $j;                                   $temp = $niz[$i];       $niz[$i] = $niz[$min];       $niz[$min]= $temp;       } //stampa novi echo"<br />Novi<br />"; for($i=0 ; $i<7 ; $i++ )    {       echo $niz[$i] . "<br />";    } ?>

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Hvala na skripti. Evo kako sam ja to malo prilagodio onom sto meni treba:

// Brojeva u opticaju $total = "49"; //Nesortiran slucajni niz for($i=0 ; $i<7 ; $i++ )    {           $start = "1";       $random = mt_rand($start, $total);         $niz[$i]=$random;           echo "<img src='images/random/$niz[$i].gif'>"  ."<br />";    } //Sortiranje i stampanje sortiranog niza for($i=0 ; $i<7 ; $i++ )    {    $min = $i;    for($j=$i+1 ; $j< 7 ; $j++)       if($niz[$min] > $niz[$j])          $min = $j;                                    $temp = $niz[$i];       $niz[$i] = $niz[$min];       $niz[$min]= $temp;       } echo"<br />Sortiran niz<br />"; for($i=0 ; $i<7 ; $i++ )    {       echo "<img src='images/random/$niz[$i].gif'>"  ."<br />";    }

Znam da sam dosadan ali javlja se jos jedan problem ovde. Ova funkcija mt_rand vraca brojeve u datom intervalu pa tako logicno nekad i vrati iste brojeve. Kako bi moglo to da se eliminise? Predpostavljam da se mora svaki put nakon generisanja $random da se prolazi kroz $niz[$i] i ako je u prisutan u $niz[$i] odbacivati ga. Znaci jos jedna for petlja prije nego sto uradim $niz[$i] = $random.

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

da, to sam isto hteo da ti napomenem
evo ti kako sam ja to uradi u javi, isto mozes i ti u php-u
for (int i=1; i<8 ; i++)    prviNiz[i]=0;             for(int i=1 ; i<8 ; i++)             {                slucajanBroj=izvuci.nextInt(38)+1;                while (prviNiz[1] == slucajanBroj || prviNiz[2] ==  slucajanBroj                          || prviNiz[3] ==  slucajanBroj || prviNiz[4] ==  slucajanBroj                          || prviNiz[5] ==  slucajanBroj || prviNiz[6] ==  slucajanBroj                          || prviNiz[7] ==  slucajanBroj )                         slucajanBroj=izvuci.nextInt(38)+1;                prviNiz[i]=slucajanBroj;                             }
znaci samo opalis jedan while i proveris da li je bilo koji od njih jednak izvucenom
prvi for je da bi iblo inicijalizovano

Ko je trenutno na forumu
 

Ukupno su 1354 korisnika na forumu :: 41 registrovanih, 4 sakrivenih i 1309 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Ageofloneliness, antonije64, Apok, Asparagus, BORUTUS, Brana01, CikaKURE, comi_pfc, cuculo, Dimitrise93, Dorcolac, Dukelander, Georgius, gmlale, gorval, ILGromovnik, janbo, ladro, Leonov, lord sir giga, Lošmi, Lucije Kvint, Magistar78, mercedesamg, miodrag, Mixelotti, mocnijogurt, naki011, Nemanja.M, pera bager, Pikac-47, Ripanjac, S2M, skvara, Srle993, Stanlio, stegonosa, Vlad000, vladulns, zlaya011