Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Losowanie Bez Powtórzeń !
cy3er
post 18.08.2004, 15:54:02
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.01.2004
Skąd: z cyber przestrzeni

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


Hey !

Moze ktos mi podac kod który wygeneruje 9 losowych liczby z przedziału od $min do $max ? Chodzi mi o to żeby losowalo liczby bez powtórzeń (żeby w wyniku losowania nie bylo takich samych liczb - dla niekumatych ;-) ). Nie myslcie ze jestem lamerem.. probowalem zapisywac do tablicy wyniki losowania i sprawdzac czy liczba zostala juz wylosowana czy nie ale to nic nie dalo :| Please help me exclamation.gif!


--------------------
... Jak wymyśle to napisze....
Go to the top of the page
+Quote Post
sf
post 18.08.2004, 16:02:39
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Jak moglo nie dac? Jesli ta liczba jest to losuj jeszcze raz. Poprostu wystarczy poprawic kod tongue.gif


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
cy3er
post 18.08.2004, 16:17:59
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.01.2004
Skąd: z cyber przestrzeni

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


Parser nie wiadomo dlaczego wyskakuje exclamation.gif

  1. <?php 
  2.  
  3. $minCat = 1; 
  4. $maxCat = 9;  
  5.  
  6. $result = array() 
  7.  
  8. while($i<=$maxCat) 
  9. { 
  10.  $result = rand($minCat, $maxCat); 
  11.  if(!in_array($result , $cat) 
  12.  { 
  13. $cat[$i] = $result; 
  14. $i++; 
  15. } 
  16. } 
  17.  
  18. ?>


:/ i nie dziala :/


--------------------
... Jak wymyśle to napisze....
Go to the top of the page
+Quote Post
silent
post 18.08.2004, 16:23:20
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

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


  1. <?php 
  2.  
  3. $minCat = 1; 
  4. $maxCat = 9;  
  5.  
  6. $result = array() 
  7.  
  8. while($i<=$maxCat) 
  9. { 
  10.  $result = rand($minCat, $maxCat); 
  11.  if(!in_array($result , $cat) ) // zapomniałeś zamknąć drugi nawias
  12.  { 
  13. $cat[$i] = $result; 
  14. $i++; 
  15. } 
  16. } 
  17.  
  18. ?>


Ten post edytował silent 18.08.2004, 16:23:31
Go to the top of the page
+Quote Post
FiDO
post 18.08.2004, 19:22:35
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


A po co sie tak meczyc? Mozna prosciej:
  1. <?php
  2.  
  3. $tab = range ($min, $max);
  4. shuffle($tab);
  5.  
  6. $wylosowane = array_slice($tab, 0, 9);
  7.  
  8. ?>

lub tez:
  1. <?php
  2.  
  3. $tab = range($min, $max);
  4. $wylosowane = array_rand($tab, 9);
  5.  
  6. ?>

ale w tym drugim przypadku dostajesz w wyniku tablice indexow, na ktorych sa wylosowane elementy w $tab.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 2.08.2025 - 12:24