Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jaka funkcja lub algorytm.
woxala123
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 12
Dołączył: 9.01.2010

Ostrzeżenie: (10%)
X----


Witam.
Mam taki oto np- układ liczb 123. I chcę zrobić tak by pokazywano mi że powstają z tego 3 parki 1,2- 2,3-1,3 i zlicza że są 3 pary.
Jaką funkcję zastosować lub jakiś podobny przykład.
POZDRAWIAM
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
woxala123
post
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 12
Dołączył: 9.01.2010

Ostrzeżenie: (10%)
X----


okey zrobiłem takie rozwiązanie
  1.  
  2. $numbers = array(1,2,45,65,67,8);
  3.  
  4.  
  5.  
  6. $solutions = array();
  7.  
  8. function generate($k, $solution)
  9. {
  10. global $solutions, $numbers;
  11. if (count($solution) == 4) {
  12. $solutions[] = $solution;
  13. }
  14. if (count($solution) < 4)
  15. for ($i = $k; $i < count($numbers); $i++) {
  16. $solution[] = $numbers[$i];
  17. generate($i + 1, $solution);
  18. array_pop($solution);
  19. }
  20.  
  21. }
  22.  
  23. generate(0, array());
  24.  
  25. echo "<P>Razem kombinacji:" . count($solutions) . "</p>";
  26. echo "<p> rozwiązania: </p>";
  27. foreach ($solutions as $sol) {
  28. echo "<p> {$sol[0]} {$sol[1]} {$sol[2]} {$sol[3]} </p>";
  29. }
  30.  


Tylko teraz chcę dane liczb wprowadzać przez formularz i zrobiłem coś takiego
  1. <form action="mor.php" method="POST">
  2.  
  3.  
  4. <div>
  5. <label for="numbers">Wprowadź liczby</label>
  6. <input id="numbers" name="numbers" class="text" type="text" />
  7. </div>
  8.  
  9. <div>
  10. <input class="submit" type="submit" value="Wyślij" />
  11. </div>
  12.  
  13. </form>
  14.  

  1.  
  2. $numbers = $_POST['array()'];
  3.  
  4.  
  5. $solutions = array();
  6.  
  7. function generate($k, $solution)
  8. {
  9. global $solutions, $numbers;
  10. if (count($solution) == 4) {
  11. $solutions[] = $solution;
  12. }
  13. if (count($solution) < 4)
  14. for ($i = $k; $i < count($numbers); $i++) {
  15. $solution[] = $numbers[$i];
  16. generate($i + 1, $solution);
  17. array_pop($solution);
  18. }
  19.  
  20. }
  21.  
  22. generate(0, array());
  23.  
  24. echo "<P>Total number of combinations:" . count($solutions) . "</p>";
  25. echo "<p> solutions: </p>";
  26. foreach ($solutions as $sol) {
  27. echo "<p> {$sol[0]} {$sol[1]} {$sol[2]} {$sol[3]} </p>";
  28. }
  29.  

No i niestety nic nie wychodzi bo jak wprowadzam wartości to nic nie oblicza kombinacji. Gdzie robię błąd.?
Pozdrawiam
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: 8.10.2025 - 12:46