Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // brute force
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- #include <cstring>
- using namespace std;
- char* szyfr_cezara(int klucz, char* oryginal)
- {
- char* alfabet_malych = "abcdefghijklmnopqrstuvwxyz";
- char* alfabet_duzych = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- char* alfabet_cyfr = "0123456789";
- int n = strlen(oryginal);
- char* result = new char[n+1];
- strcpy(result, oryginal);
- for(int i = 0; i < n; i++)
- {
- char* alfabet;
- //cout << static_cast<int>(oryginal[i]) << endl;
- if(oryginal[i] >= 65 && oryginal[i] <= 90)
- {
- alfabet = alfabet_duzych;
- }
- else if(oryginal[i] >= 97 && oryginal[i] <= 122)
- {
- alfabet = alfabet_malych;
- }
- else if (oryginal[i] >= 48 && oryginal[i] <= 57)
- {
- alfabet = alfabet_cyfr;
- }
- else
- {
- //cout << "znaki musza byc alfanumeryczne";
- //exit(1);
- result[i] = oryginal[i];
- continue;
- }
- int length = strlen(alfabet);
- int indeks_szukanej;
- for(int j = 0; j < length; j++)
- {
- if(alfabet[j] == oryginal[i])
- {
- indeks_szukanej = j;
- }
- }
- int spot = (indeks_szukanej + klucz) % length;
- if(spot < 0)
- {
- spot += length;
- }
- result[i] = alfabet[spot];
- }
- return result;
- }
- int main()
- {
- /*
- int klucz = 0;
- cout << "podaj klucz: " << endl;
- cin >> klucz;
- char oryginal[1000];
- cout << "podaj tekst do zaszyfrowania: " << endl;
- cin >> oryginal;
- char* szyfrogram = szyfr_cezara(klucz, oryginal);
- cout << "szyfrogram: " << szyfrogram << endl;
- */
- std::fstream plik;
- //char oryginal[1000];
- string oryginal;
- plik.open( "szyfrogram.txt", ios::in );
- if( plik.good() == true )
- {
- for(int klucz = 0; klucz < 27; klucz++)
- {
- getline( plik, oryginal );
- char* oryginal_cstr = const_cast<char*>(oryginal.c_str());
- cout << oryginal_cstr << endl;
- char* szyfrogram = szyfr_cezara( klucz, oryginal_cstr );
- cout << "klucz: " << klucz << " szyfrogram: " << szyfrogram << endl;
- }
- }
- plik.close();
- std::fstream plik2;
- //char oryginal[1000];
- string line;
- plik2.open( "szyfrogram.txt", ios::in );
- if( plik2.good() == true )
- {
- cout << "podaj prawidlowy klucz aby wyswietlic caly plik: " << endl;
- int klucz;
- cin >> klucz;
- while(getline(plik2, line))
- {
- char* line_cstr = const_cast<char*>(line.c_str());
- char* szyfrogram = szyfr_cezara( klucz , line_cstr );
- cout << szyfrogram;
- }
- }
- plik2.close();
- return 0;
- }
Add Comment
Please, Sign In to add comment