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
Wykrywacz
post
Post #2





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

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


No dobra to jak by jeszcze jakiś ćwok zamiast pomyśleć używał wyszukiwania to wklejam rozwiązanie jakie zrobiłem.

  1. for ($i=0;$i<10;$i++){
  2. do {
  3. $wynik = mt_rand(1,10);
  4. } while (isset($tablica[$wynik]));
  5. $tablica[$wynik] =$wynik;
  6. }
  7. foreach ($tablica as $klucz){
  8. echo $tablica[$klucz].'<br />';
  9. }


edit. jeszcze ładnie skróciłem aby nie robić wiochy

Ten post edytował Wykrywacz 21.09.2009, 13:14:59
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: 11.10.2025 - 05:57