Kod w pierwszym załączniku. Jednak trochę musiałam go zmienić, więcej w wyjaśnieniach.
W drugim załączniku przykładowy tekst ze spacjami.
W trzecim załączniku kilka przykładów juz bez spacji. Podanie jako klucza 1 lub liczby większej lub równej długości długości tekstu powoduje, że tekst nie jest szyfrowany. Klucze o długości zbliżonej do długości tekstu dają bardzo kiepskie szyfrowanie.
Wyjaśnienie:
Wiersze 1-7 możesz oczywiście zmienić na to co lubisz.
Właściwie zamiast int powinno być wszędzie unsigned int, ale to możesz samodzielnie zmienić.
Uważam, że jest bardzo istotne podanie jakiej długości może być klucz, więc zmieniłam wprowadzanie tej wielkości. I oczywiście musi to być po usunięciu wszystkich spacji.
Są teraz dwie zmienne:
tekst jawny (oryginalny) ze spacjami,
tekst jawny bez spacji.
Owszem można było przejść przez tekst i użyć opcji usuwania pojedynczego znaku, ale... takie postępowanie nie jest zalecane dla dłuższych tekstów, bo wymaga wykonania wielokrotnego kopiowania zawartości tekstu. Ponadto tak jak napisałam jest chyba najprościej jak się da.
Dodanie na końcu zmiennej łańcuchowej typu string to funkcja push_back(). Jej stosowanie ma zalety... Ale możesz przywrócić tak jak było.
Deszyfrowanie napisałam oddzielnie aby było łatwiej przenieść je do funkcji.
P.S.
Przykładowy tekst w drugim załączniku oczywiście nie jest mój, tylko Stanisława Barańczaka. Często go używam (jest nawet kilka zdań więcej) ponieważ jest to długi tekst napisany z sensem bez polskich liter.
Odpowiedź
Kod w pierwszym załączniku. Jednak trochę musiałam go zmienić, więcej w wyjaśnieniach.
W drugim załączniku przykładowy tekst ze spacjami.
W trzecim załączniku kilka przykładów juz bez spacji. Podanie jako klucza 1 lub liczby większej lub równej długości długości tekstu powoduje, że tekst nie jest szyfrowany. Klucze o długości zbliżonej do długości tekstu dają bardzo kiepskie szyfrowanie.
Wyjaśnienie:
Wiersze 1-7 możesz oczywiście zmienić na to co lubisz.
Właściwie zamiast int powinno być wszędzie unsigned int, ale to możesz samodzielnie zmienić.
Uważam, że jest bardzo istotne podanie jakiej długości może być klucz, więc zmieniłam wprowadzanie tej wielkości. I oczywiście musi to być po usunięciu wszystkich spacji.
Są teraz dwie zmienne:
Owszem można było przejść przez tekst i użyć opcji usuwania pojedynczego znaku, ale... takie postępowanie nie jest zalecane dla dłuższych tekstów, bo wymaga wykonania wielokrotnego kopiowania zawartości tekstu. Ponadto tak jak napisałam jest chyba najprościej jak się da.
Dodanie na końcu zmiennej łańcuchowej typu string to funkcja push_back(). Jej stosowanie ma zalety... Ale możesz przywrócić tak jak było.
Deszyfrowanie napisałam oddzielnie aby było łatwiej przenieść je do funkcji.
P.S.
Przykładowy tekst w drugim załączniku oczywiście nie jest mój, tylko Stanisława Barańczaka. Często go używam (jest nawet kilka zdań więcej) ponieważ jest to długi tekst napisany z sensem bez polskich liter.