Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] losowosc liczb
-Tt-
post
Post #1





Goście







Mam dziesiec liczb
1=1
2=6
3=2
4=1
5=2
6=1
7=3
8=2
9=7
10=4

i teraz chce wylosowac 5 liczb z najwiekszym licznikiem po znaku = zeby mialy wiekszy priorytet przed tymi z mniejszym. Dzieki za wasza pomoc
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Bardzo fajny pomysł, liczę, że się uda, powodzenia.
Go to the top of the page
+Quote Post
ctom
post
Post #3





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

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


@Damonsson to było dobre (IMG:style_emoticons/default/smile.gif) - sarkazm level 9999

Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat(Tt @ 15.12.2013, 22:18:50 ) *
Mam dziesiec liczb
1=1
2=6
3=2
4=1
5=2
6=1
7=3
8=2
9=7
10=4

i teraz chce wylosowac 5 liczb z najwiekszym licznikiem po znaku = zeby mialy wiekszy priorytet przed tymi z mniejszym. Dzieki za wasza pomoc

Nie wiem, czy dobrze kumam, ale można by to tak:
  1. $t[]=1;
  2. $t[]=6;
  3. $t[]=2;
  4. $t[]=1;
  5. $t[]=2;
  6. $t[]=1;
  7. $t[]=3;
  8. $t[]=2;
  9. $t[]=7;
  10. $t[]=4;
  11.  
  12. rsort($t); // sortuje malejąco
  13.  
  14. for ($i=0; $i<5; $i++) {
  15. echo "$t[$i]<br />";
  16. }

Twoje liczby po znaku = ładujesz do tablicy, sortujesz od największej i wyświetlasz pięć największych. Nie ma tu losowania, bo nie ma z czego losować. Gdyby było więcej liczb, można się pobawić w losowanie...
Go to the top of the page
+Quote Post
-Tt-
post
Post #5





Goście







Liczby to te pierwsze to po znaku = to priorytet od losowania dzieki za odpowiedz ale to nic nie zmienia potrzebuje losowania liczb uwzgledniajac priorytet
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




:baaasmiley:To w takim razie szukaj rozwiązania pod hasłem "losowanie wg wag". Masz tu przykład:
  1. $t = array(
  2. "pozycja 1"=>1,
  3. "pozycja 2"=>10,
  4. "pozycja 3"=>2,
  5. "pozycja 4"=>2,
  6. "pozycja 5"=>6
  7. );
  8.  
  9. foreach($t as $pozycja=>$waga) {
  10. for($i=0;$i<$waga; $i++) $tab[] = $pozycja;
  11. }
  12.  
  13. srand((double) microtime()*1000000);
  14. shuffle($tab);
  15. echo $tab[0];
Go to the top of the page
+Quote Post
-Tt-
post
Post #7





Goście







Dzieki to je to
Go to the top of the page
+Quote Post

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: 22.12.2025 - 18:39