Kombinowanie bez powtórzeń

0

Witam
Jak wypisać wszystkie kombinacje podanych przez nas znaków bez poowtarzania
Może zna ktoś jakiś kod źródlowy... Dzięki...

0

ale to jest z powtórzeniami a ma być bez powtórzeń!!!!!!!!
!!!!
!!!!
!!!!
!!!!
!!!!

0

Kolejność postępowania w algorytmie może być taka:

  1. Znaki które mają występować w kombinacjach wpisujesz jako elementy tablicy jednowymiarowej (wektora - jak kto woli),
  2. Generujesz wszystkie możliwe ciągi zer i jedynek o długości równej ilości elementów w.w. tablicy - wiesz jak zrobić kombinacje z powtórzeniami więc nie powinno ci to sprawić kłopotu),
  3. Po wygenerowaniu każdego ciągu sprawdzasz na których pozycjach ciągu są zera, a na których jedynki i wypisujesz z tablicy zdefiniowanej na początku programu elementy o numerach odpowiadających pozycjom w ciagu które mają wartość jeden.

no...

To tyle algorytm. Z implementacją pomęcz się sam :)))

0
var
  tablica : array of integer;
  losowanie, x, y, flaga : integer;
begin
  SetLength(tablica_krzyzowan, ilosc);
  losowanie := RandomRange(1, zakres);
  tablica_krzyzowan[1] := losowanie;
  for x := 2 to ilosc do
    begin
      flaga := 0;
      while flaga = 0 do
        begin
          flaga := 1;
          losowanie := RandomRange(1, ilosc);
          for y := 1 to x do
            if tablica_krzyzowan[y] = losowanie then
              flaga := 0;
        end;
      tablica_krzyzowan[x] := losowanie;
    end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1