Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kombinacje bez powtórzeń
Forum PHP.pl > Forum > Przedszkole
bogoosia
witam,

piszę skrypcik, który losuje ileś liczb (np 5) spośród zadanego zbioru liczb. wylosowane liczby mają sie nie powtarzać , oraz kolejność wystepowania liczb nie gra roli, czyli np 12345 to to samo co 13245 (oba ciągi składają sie z tych samych cyfr, tyle że w innej kolejnosci) i wyświetlam tylko pierwszy ciąg (dla uproszczenia - wg 'kolejności rosnącej')

no i mam problem, bo mój skrypcik wygląda tak:

  1. <?php
  2.  
  3. $plik = "123.db";
  4. $czytaj = file($plik);
  5. $tab = explode(";",$czytaj[0]);
  6. for($i=0; $i < count($tab); $i++)
  7. {
  8.  print("<br>");
  9.  print($tab[$i]);
  10.  foreach ($tab as $a)
  11.  foreach ($tab as $b)
  12.  foreach ($tab as $c)
  13.  foreach ($tab as $d)
  14.  foreach ($tab as $e)
  15.  
  16. print "$a $b $c $d $e<br>n";  }
  17.  
  18. ?>


plik 123.db wygląda tak:
1;5;6;7;8;12;15;17;19;25;26;28;35;39;40;41;42;49;50

niestety mój skrypcik podaje mi wszystkie kombinacje z powtórzeniami. jak je wykluczyć?
Pigula
mozesz stworzyc histogram. jak wystapi dana kombinacja to ja pomijasz drugi raz. w manualu gdzies widzialem w komentarzach kiedys funkcje ktora generuje unikalny ciag liczb, chyba przy funkcji rand() (ale nie dam sobie glowy uciac tongue.gif ) mozesz ja przerobic.
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.