Sprawdź się
Zmodyfikuj podany kod tak, aby zaszyfrować płotkowo łańcuch znaków tekst
z użyciem podanego klucza.
Działanie programu przetestuj dla łańcucha znaków CEZAR
oraz klucza o wartości 3.
Specyfikacja problemu:
Dane:
tekst
– łańcuch znakówklucz
– liczba naturalna
Wynik:
szyfrogram
– łańcuch znaków; zaszyfrowany łańcuch znakówtekst
Przykładowe rozwiązanie zadania:
#include <iostream>
#include <string>
using namespace std;
string SzyfrPlotkowy(string jawny, int klucz)
{
string szyfrogram = "";
char plotek[klucz][jawny.size()];
for(int i = 0; i < klucz; i++){
for(int j = 0; j < jawny.size(); j++ ){
plotek[i][j] = ' ';
}
}
int wiersz = 0, czydol = 1;
for(int i = 0; i < jawny.size(); i++){
plotek[wiersz][i] = jawny[i];
if(wiersz == klucz - 1)
czydol = 0;
else if(wiersz == 0)
czydol = 1;
if(czydol == 1)
wiersz = wiersz + 1;
else
wiersz = wiersz - 1;
}
for(int i = 0; i < klucz; i++){
for(int j = 0; j < jawny.size(); j++){
if(plotek[i][j] != ' ')
szyfrogram = szyfrogram + plotek[i][j];
}
}
return szyfrogram;
}
int main(){
string tekst = "CEZAR";
int klucz = 3;
cout << SzyfrPlotkowy(tekst, klucz);
return 0;
}
Zmodyfikuj podany kod tak, aby zaszyfrować płotkowo łańcuch znaków tekst
z użyciem klucza klucz
.
Przetestuj działanie programu dla łańcucha znaków ALEA IACTA EST
z użyciem klucza o wartości 4. Pamiętaj o usunięciu spacji z tekstu jawnego.
Specyfikacja problemu:
Dane:
tekst
– łańcuch znakówklucz
– liczba naturalna
Wynik:
szyfrogram
– łańcuch znaków; zaszyfrowany łańcuch znakówtekst
Przykładowe rozwiązanie zadania:
#include <iostream>
#include <string>
using namespace std;
string SzyfrPlotkowy(string jawny, int klucz)
{
string szyfrogram = "";
char plotek[klucz][jawny.size()];
for(int i = 0; i < klucz; i++){
for(int j = 0; j < jawny.size(); j++ ){
plotek[i][j] = ' ';
}
}
int wiersz = 0, czydol = 1;
for(int i = 0; i < jawny.size(); i++){
plotek[wiersz][i] = jawny[i];
if(wiersz == klucz - 1)
czydol = 0;
else if(wiersz == 0)
czydol = 1;
if(czydol == 1)
wiersz = wiersz + 1;
else
wiersz = wiersz - 1;
}
for(int i = 0; i < klucz; i++){
for(int j = 0; j < jawny.size(); j++){
if(plotek[i][j] != ' ')
szyfrogram = szyfrogram + plotek[i][j];
}
}
return szyfrogram;
}
int main(){
string tekst = "ALEA IACTA EST", bezSpacji = "";
int klucz = 4;
for(int i = 0; i < tekst.size(); i++){
if(tekst[i] != ' ')
bezSpacji = bezSpacji + tekst[i];
}
cout << SzyfrPlotkowy(bezSpacji, klucz);
return 0;
}
Zmodyfikuj podany kod tak, aby zaszyfrować płotkowo łańcuch znaków tekst
z użyciem klucza klucz
.
Działanie programu przetestuj dla łańcucha znaków Kosci zostaly rzucone
oraz klucza o wartości 2. Pamiętaj o usunięciu spacji z tekstu jawnego oraz zamianie małych liter na wielkie.
Specyfikacja problemu:
Dane:
tekst
– łańcuch znakówklucz
– liczba naturalna
Wynik:
szyfrogram
– łańcuch znaków; zaszyfrowany łańcuch znakówtekst
Przykładowe rozwiązanie zadania:
#include <iostream>
#include <string>
using namespace std;
string SzyfrPlotkowy(string jawny, int klucz) {
string szyfrogram = "";
char plotek[klucz][jawny.size()];
for (int i = 0; i < klucz; i++) {
for (int j = 0; j < jawny.size(); j++) {
plotek[i][j] = ' ';
}
}
int wiersz = 0, czydol = 1;
for (int i = 0; i < jawny.size(); i++) {
plotek[wiersz][i] = jawny[i];
if (wiersz == klucz - 1)
czydol = 0;
else if (wiersz == 0)
czydol = 1;
if (czydol == 1)
wiersz = wiersz + 1;
else
wiersz = wiersz - 1;
}
for (int i = 0; i < klucz; i++) {
for (int j = 0; j < jawny.size(); j++) {
if (plotek[i][j] != ' ')
szyfrogram = szyfrogram + plotek[i][j];
}
}
return szyfrogram;
}
int main(){
string tekst = "Kosci zostaly rzucone", wielkieLitery = "";
int klucz = 2;
for(int i = 0; i < tekst.size(); i++){
if(tekst[i] != ' '){
if(tekst[i] >= 'a'){
tekst[i] = tekst[i] - 32;
}
wielkieLitery = wielkieLitery + tekst[i];
}
}
cout << SzyfrPlotkowy(wielkieLitery, klucz);
return 0;
}