Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] pomozcie mi zrozumiec ten kod
Forum PHP.pl > Forum > Przedszkole
poniedzialek
mam taki kod generujacy permuracje o liczebnosci $dlugosc z zakresu $max

  1. <?php
  2.  
  3. $max = 3;
  4. $dlugosc = 3;
  5.  
  6. function pokaz()
  7. {
  8. global $permutacja;
  9. global $max;
  10. global $dlugosc;
  11.  
  12. for ($i = 1; $i <= $dlugosc; $i++)
  13. {
  14. echo "$permutacja[$i] ";
  15. }
  16. echo "<br>";
  17. }
  18.  
  19.  
  20. function generuj($poziom)
  21. {
  22. global $permutacja;
  23. global $x;
  24. global $used;
  25. global $max;
  26. global $dlugosc;
  27.  
  28. if ($poziom > $dlugosc)
  29. {
  30. pokaz();
  31. return;
  32. }
  33.  
  34. for ($i = 1; $i <= $max; $i++)
  35. {
  36. if (!$used[$i])
  37. {
  38. $used[$i] = true;
  39. $permutacja[$poziom] = $x[$i];
  40. generuj($poziom + 1);
  41. $used[$i] = false;
  42. }
  43. }
  44.  
  45. }
  46.  
  47. for ($i = 1; $i <= $max; $i++)
  48. {
  49. $x[$i] = $i;
  50. $used[$i] = false;
  51. }
  52.  
  53. generuj(1);
  54.  
  55. ?>

prosze powiedzcie mi co w tym kodzie robia zmienne $x i $used i jakie zadanie ma ostatnia petla for
batter
Cześć,

Zgodnie z definicją permutacji zmienna $x przechowuje wartości pewnego zbioru skończonego w tym przypadku od 1 do $max. Z kolei zmienna $used ma za zadanie sprawdzić czy wartość konkretnego $x[$i] została już użyta w trakcie wyliczania permutacji tzn. $used[$i] zmienia wartość z false na true.
poniedzialek
dzieki piekne
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.