![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 3.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chciałbym wypisać wszystkie kombinacje elementów tablicy bez powtórzeń gdzie zbór wynosi 4, a elementy 3. Dla 2 elementów mam takie coś:
CODE <? $tab1[0] = 1; $tab1[1] = 2; $tab1[2] = 3; $tab1[3] = 4; $ilosc=count($tab1); $tab2 = $tab1; for($i=0;$i<$ilosc;$i++) { $j=$i+1; while($j<$ilosc) { echo $tab1[$i].','.$tab2[$j].'<br/>'; $j++; } } ?> Próbowałem dodać zmienną k i wygląda to tak po przeróbce: CODE <? $tab1[0] = 1; $tab1[1] = 2; $tab1[2] = 3; $tab1[3] = 4; $ilosc=count($tab1); $tab2 = $tab1; $tab3 = $tab1; for($i=0;$i<$ilosc;$i++) { $j=$i+1; $k=$j+1; while($j<$ilosc && $k<$ilosc) { echo $tab1[$i].','.$tab2[$j].','.$tab3[$k].'<br/>'; $j++; $k++; } } ?> Niestety nie działa to prawidłowo, gdy mam zbiór liczb 1,2,3,4 to wynikiem jest: 1,2,3 1,3,4 2,3,4 Ucieka jedna kombinacja: 1,2,4 Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Działa, ale lepiej się tym nie chwalić profesorowi od algorytmiki (IMG:style_emoticons/default/biggrin.gif) :D edit:// tutaj masz lepszą wersję, chociaż też nie idealna.
Ten post edytował peter13135 6.09.2011, 16:16:28 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 3.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko fajnie działa, tylko jak to przerobić tak, że np. do tablicy zapisuję 4liczby dowolne i z tych 4 liczb wypisuje mi wszystkie ich kombinacje bez powtórzeń?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 16:10 |