Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie wyników
soliniak
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 8.08.2009

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


Może mi ktoś podpowiedzieć jak posortować wyniki od min do max?
Bo już wymiękam... próbuję użyć funkcji sort ale nic nie daje....
I czy zaznaczony fragment jest konieczny? Trzeba zadeklarować w ten sposób array czy starczy pętla for?

  1. <?php
  2. $k = 9;
  3. $n = 805;
  4.  
  5. function losuj($k, $n) {
  6.  
  7. // sprawdz poprawnosc danych wejsciowych
  8. if ($k > $n) {
  9. echo "Nieprawidłowe dane wejściowe";
  10. }
  11.  
  12. // wypełnianie tablicy liczbami 1,2...n
  13. $numbers = array($n); <<<<<<<<<<<< ------------------ ten fragment jest niepotrzebny??
  14. for ($i=0; $i<$n; $i++) {
  15. $numbers[$i] = $i + 1;
  16. }
  17.  
  18. // losowanie k liczb
  19. for ($i=0; $i<$k; $i++) {
  20.  
  21. // tworzenie losowego indeksu pomiędzy 0 i n - 1
  22. $r = floor(rand(0, $n));
  23. sort($numbers);
  24.  
  25. // wybieramy element z losowego miejsca
  26. echo $numbers[$r]." | ";
  27.  
  28. // przeniesienia ostatniego elementu do miejsca z którego wzięliśmy
  29. $numbers[$r] = $numbers[$n - 1];
  30.  
  31. //zmniejszamy n
  32. $n--;
  33. }
  34. }
  35.  
  36. losuj($k, $n);
  37.  
  38. ?>


Dziękuję za pomoc wink.gif
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 01:08