Wczytwanie i permutacja k literowego ciagu

0

Na początku chciałbym wszystkich przywitać będąc świeżakiem na forum i całkowitym nowicjuszem programistycznym:)

Na zajeciach przerabiamy teraz delphi. Póki robiliśmy jakieś tam podstawy to szło całkiem nieźle. Teraz jednak dostaliśmy do zrobienia program i szczerze mówiąc nie wiem zupełnie jak ruszyć dlatego każda podpowiedź mi się przyda.

Mam zrobić program który wczytuje k-literowy ciąg znaków a następnie wyświetla wszystkie jego permutacje. Moim głównym problemem jest samo to że robimy program w delphi7, kiedy zdecydowanie bardziej wole tradycyjne programowanie bez tych wszystkich okienek i komponentów do wstawiania w forme. Powoduje to że ciężko mi się skupić na samym kodzie bo mam problem ze zgraniem i dobraniem odpowiednich komponentów.

Ma ktoś jakieś pomysły? Jak już wspominałem, każda pomoc się przyda!

Z góry dzięki

0

Och, to wcale nie jest trywialne. W książce "Kombinatoryka dla programistów" Witold Lipski z roku 1989 masz omówioną matematyczną podstawę problemu permutacji na stronach 16-29 i na stronie 28 zaczyna się gotowy algorytm generujący permutacje poprzez transpozycje. Książka obejmuje też grafy. W sumie dużo matematyki. A! jest błąd w algorytmie. Linia 15 ma wpis: if i < then. Powinno być: if i < n then.

0

Próbowałem z tym kodem ale chyba coś źle definiowałem zmienne albo jest jeszcze jakiś błąd bo za nic nie mogę programu uruchomić. Póki co mam inny kod i ładnie działa w samym pascalu, więc część roboty za mną :) Ma ktoś pomysł jak to rozłożyć na komponenty w delphi i jakich użyć?

0

Spróbuj znaleźć co jest źle z tym kodem który przepisałeś z książki. Możesz użyć debuggera. To jest niezła próba praktyki programowania dla ciebie!

Żeby wyświetlić wartości zwracane z funkcji po prostu daj z palety standard komponent memo i wpisuj do niego wartości przez memo.lines.add.

0

Spędziłem nad tym samym zadaniem kilka dni zanim wpadłem na rozwiązanie.
Podam algorytm, bo już nie muszę utrzymywać w tajemnicy jak powinien on wyglądać :)

Jakby ktoś miał problem z czymś jeszcze to niech pisze na maila [email protected] a jeżeli to mega ważne to gg :)

Pozdro!

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