hah..zadanie na jezyk polski :) literki-random

0

witam

mam problemik, ktory dla Was powinien byc chwila relaksu a nie utrapieniem jak w moim wypadku:) na jezyk polski pani zarzyczyla sobie cos takiego: z liter mojego imienia i nazwiska utrorzyc nowe imie i nazwisko z liter orygilalnie uzytych. czyli jak nazywam sie jan kowalki to mam do wyboru tylko te litery: j,a,n,k,o,w,a,l,s,k,i. Co wiecej musza byc uzyte wszystkie litery (zadna nie moze zostac ani sie powtorzyc nie moze) ... w tym wypadku wszystkie 11 liter. I jesli mam np. dwie litery "a" to jesli wykrorzystam je w imieniu to w nazwisku juz trzeciego "a" nie moge dac.
Chcialem napisac taki program ale zanim to napisze spadnie bozonarodzeniowy snieg :) Ludzie rarunku ;) babka z polskiego jest taka potrzaskana hehe. Czym wiecej liter tym trudniej ale ratunkiem wtedy moze byc dwuczlonowe nazwisko z myslnikiem.
Napiszecie taki programik ? :) ktory nawet bezmyslnie wypisuje nieistniejace nazwiska i imiona byle by wykorzystywal wszystkie litery i zeby sie one nie powtarzaly.

To zad. jest na jutro wiec fajnie by bylo gdyby jeszcze dzisiaj albo jutro rano to bylo :)

Oczywiscie nie zrozumcie mnie zle...to nie jest żądanie:)

0

zapisz literki do tablicy.. potem losuj (pozycje w tabeli)
jesli sie wylosuje i uzyje to zaznacz jako uzyte w tym tworzeniu.
aby to mialo jakis sens i sie dalo wymowic to sprawdzaj czy literka jest samogloska czy spolgloska... i losuj tak aby byly na zmiane albo 2 spolgloski pod rzad.... (oblicz ile tych spolglosek jest w stosunku do samoglosek)

oczywiscie moga Ci wyjsc imiona nie istniejace ale to juz szczegol :)

0

Programowanie na polaku?? :0 [???]

0

Zawsze możesz sobie z internetu ściągnąć jakiś plik tekstowy z imionami i coś z nim kombinować, jak całe imie nie może być to chociaż jego kawałek:)

0

Permutacją bez powtórzeń zbioru n-elementowego nazywamy każdy ciąg n-wyrazowy utworzony ze wszystkich elementów tego zbioru. Liczba permutacji bez powtórzeń zbioru n-elementowego: Pn = N!; Nie polecam programu wypisującego wszystkie kombinacje ;p heh dla tych co nie załapali :
Ilość kombinacji = 11! Czyli około 39916800 kombinacji :) Mogę się mylić he he dopiero wchodzę w kombinatorykę
[diabel]

0

chyba jednak się nie mylisz. Liczba możliwości to 11!

Ps. myśle że nauczycielka wam nie kazała wypisać wszystkich przykładów bo jeśli tak to zainwestuj w nowy tusz do drukarki

0

Rozwiązanie najprostrze: Odwróć kolejność głosek w imieniu i nazwisku. Wszystkie założenia będą spełnione.
Wynik jest dość ciekawy bo nazwy brzmią jak z gwiezdnych wojen, ale to zawsze coś.

Np:

Jerzdna Reppel
Asiak Kełoif
Keszel Rellim

0

Mozesz zacząc od tego:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  InputName, OutputName : String;
  AddChar : Char;
  I, Len : Integer;
begin
  InputName := Edit1.Text;
  Len := Length(InputName);
  for I := 1 to Len do
  begin
    AddChar := InputName[Random(Length(InputName)) + 1];
    OutputName := OutputName + AddChar;
    InputName := StringReplace(InputName, AddChar, '', []);
  end;
  Edit2.Text := OutputName;
end;

Przydałoby sie jeszcze dodać zabezpieczenie przed zbyt krótkimi wyrazami, przed wylosowaniem spacji na koncu lub na początku stringa, przed duża iloscią spółgłosek/samogłosek koło siebie, rozpoczynanie wyrazów od dużej litery itp.

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