Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]mt_rand bez powtórzeń
Wykrywacz
post
Post #1





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Siema, czy możecie pomóc wskazać mi gdzie robię błąd w założeniach? Bo kręci mi tym aż do czasu wywalenia timeouta.

Oczywiście chodzi mi o losowanko bez powtórzeń (IMG:style_emoticons/default/winksmiley.jpg)

  1. function losowanie($zakres){
  2. return mt_rand(1,$zakres);
  3. }
  4. $tablica = array(0);
  5. for ($i=0;$i<10;$i++){
  6. do {
  7. $wynik = losowanie(100);
  8. } while (array_key_exists($wynik,$tablica) == false);
  9. $tablica +=$wynik;
  10. echo $tablica.'<br />';
  11. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


  1. function losowanie($zakres){return mt_rand(1,$zakres);}
  2.  
  3. $tablica = array(0);
  4. for ($i=0;$i<10;$i++){
  5. do {$wynik = losowanie(100);} while (array_key_exists($wynik,$tablica) == false); //cała ta linijka jest wewnętrzną petlą gdzie wykonałeś pierwszy krok przy do a następnie nic nie robisz tylko sprawdzasz warunek w while podczas gdy w tym while nawet wartości nie zmieniasz tylko sprawdzasz do oporu - nie daleś klamry i kończy się na sredniku - no ale po co Ci pętla taka w pętli for?(IMG:style_emoticons/default/questionmark.gif)
  6. //tu jest dalsza cześć pętli for - popraw sobie wcięcia ;)
  7. $tablica +=$wynik;
  8. echo $tablica.'<br />';
  9. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 08:22