Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Kombinacja wyrazów.
Haldir
post 18.06.2011, 15:56:46
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 12.08.2009

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


Witam,

zdaję sobię sprawę, że było to wałkowane już x razy, ale po przetestowaniu każdego z kodu na kombinacje jestem nie do końca zadowolony.


Otóż potrzebuję stworzyć kod który będzie wyświetlał wszystkie możliwe ustawienia 14 wyrazów składającą się z 4 elementów bez powtórzeń.

Czyli:


Wyraz 1, Wyraz 2 ... Wyraz 14

W efekcie chciałbym otrzymać wynik w postaci:

W1 - W2 - W3 - W4
W4 - W2 - W1 - W16

i tak dalej


Przykładowy kod z którym pracowałem, jednak nie bardzo się sprawdza.

Kod
<?php
$ar1=array('El + ','Eld + ','Tir + ','Nef + ','Eth + ','Ith + ','Ral + ','Ort + ','Thul + ','Amn + ','Sol + ','Shael + ','DOL + ','HEL + ');
for($i=0; $i<=17; $i++)
{
for($j=$i;$j<count($ar1);$j++)
{
for($k=$j;$k<count($ar1);$k++)
{
for($l=$k;$l<count($ar1);$l++)
{

print "<br>".$ar1[$i].$ar1[$j].$ar1[$k].$ar1[$l];
}
}
}
}
?>


Ten post edytował Haldir 18.06.2011, 16:02:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pawel_W
post 18.06.2011, 17:57:48
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


albo przerabiając kod kolegi z pierwszego postu:
  1. <?php
  2. $ar1=array('El + ','Eld + ','Tir + ','Nef + ','Eth + ','Ith + ','Ral + ','Ort + ','Thul + ','Amn + ','Sol + ','Shael + ','DOL + ','HEL + ');
  3. $count = count($ar1);
  4. for($i=0; $i < $count; $i++)
  5. {
  6. for($j=0; $j < $count; $j++)
  7. {
  8. if($ar1[$i] == $ar1[$j]) continue;
  9. for($k=0; $k < $count; $k++)
  10. {
  11. if($ar1[$i] == $ar1[$k]) continue;
  12. if($ar1[$j] == $ar1[$k]) continue;
  13. for($l=0; $l < $count; $l++)
  14. {
  15. if($ar1[$i] == $ar1[$l]) continue;
  16. if($ar1[$j] == $ar1[$l]) continue;
  17. if($ar1[$k] == $ar1[$l]) continue;
  18. print "<br>".$ar1[$i].$ar1[$j].$ar1[$k].$ar1[$l];
  19. }
  20. }
  21. }
  22. }
  23. ?>

"pisane z palca, nie wiem czy zadziała" biggrin.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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 18:52