Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <string>
- using namespace std;
- ifstream cin("polybius.in");
- ofstream cout("polybius.out");
- char lipsa;
- int frec[105];
- void rez1()
- {
- string s;
- cin >> s;
- for(int i = 0 ; i < s.length() ; i++)
- cout << frec[(int)s[i]];
- }
- void rez2()
- {
- string s;
- cin >> s;
- for(int i = 0 ; i < s.length() ; i = i + 2)
- cout << (char)frec[ ( s[i] - '0' ) * 10 + (s[i+1] - '0')];
- }
- int main()
- {
- int p;
- cin >> p;
- string s;
- cin >> s;
- //cout << s << '\n';
- int ant;
- ant = (int)s[0];
- if(ant == 66)
- lipsa = (char) 66;
- else
- {
- for(int i = 1 ; i < s.length() ; i++)
- if((int)s[i] == (int) ant + 1)
- ant = s[i];
- else
- {
- lipsa = (char) ant + 1;
- break ;
- }
- }
- int nr = 1;
- for(int k = 0 ; s[k] ; k++)
- {
- int lin = nr / 5;
- int col = nr % 5;
- if(!col)
- col = 5;
- else
- lin++;
- frec[(int)s[k]] = lin * 10 + col;
- frec[lin * 10 + col] = (int) s[k];
- //cout << (int) s[k] << ' ' << lin * 10 + col << ' ' <<
- //frec[(int)s[k]] << ' ' << frec[lin * 10 + col] << '\n';
- nr++;
- }
- /*cout << lipsa << '\n';
- for(int i = 1 ; i <= 5 ; i++)
- {
- for(int j = 1 ; j <= 5 ; j++)
- cout << tabel[i][j] << ' ';
- cout << '\n';
- }*/
- (p == 1) ? rez1() : rez2() ;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement