Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kombinacje bez powtórzeń
bogoosia
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 15.09.2003
Skąd: 3miasto

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


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ć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Pigula
post
Post #2





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

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


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.
Go to the top of the page
+Quote Post

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 Aktualny czas: 20.08.2025 - 06:37