Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Chyba zły algorytm na permutacje :(



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Algorytmy + inżynieria oprogramowania
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Majk
Gość





PostWysłany: Pią Paź 27, 2017 4:12 pm  OP    Temat postu: Chyba zły algorytm na permutacje :( Odpowiedz z cytatem Pisownia

Hejka
Wykombinowałem algorytm na permutacje zbioru 4- elementowego. Co prawda działa ale czy to jest właściwy algorytm ?
Kod:
program permutacja;
var
i,l,p,x,silnia: integer;
zbior: array[1..4] of integer;
change: boolean;
begin
    
     for i := 1 to 4 do
        zbior[i] := i;
        
     writeln;
    
    p := 1; l := 1; silnia := 1;
    
    while silnia <= 24 do
          begin
              
               change := false;
               write(' ',silnia,' ');
              
               for i := 1 to 4 do
                  write(' ',zbior[i]);
                  writeln;
              
               x := zbior[p];
               zbior[p] := zbior[p+1];
               zbior[p+1] := x;
              
             if (p = 1) then
                 p := p + 1
             else
                   p := 1;
                  
             l := l + 1;
            
             if l = 6 then
               begin
                      p := 3;
                      l := 0
               end;

            for i := 1 to 4 do
               if zbior[i] = i then
                 change := true
              else
                   begin
                          change := false;
                          break
                    end;

             if change = true then
              for i := 1 to 3 do
                 begin
                         x := zbior[i];
                         zbior[i] := zbior[5-i];
                         zbior[5-i] := x
                  end;
              
           silnia := silnia + 1
     end
end.
Powrót do góry
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Algorytmy + inżynieria oprogramowania Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.16836 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |