pastebin

Paste Search Dynamic
Recent pastes
decryptMessage
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <map>
  5. #include <ctype.h>
  6. using namespace std;
  7.  
  8. struct obj{
  9.         char c;
  10.         int freq;
  11.         obj(){
  12.         };
  13.         bool operator<(const obj& obj2) const
  14.         {
  15.                 return freq > obj2.freq;
  16.         }
  17. };
  18.  
  19. int n='z'-'a'+1;
  20.  
  21. string decryptMessage(string message, string freqLang)
  22. {
  23.         obj freq[n];
  24.         map<char,char> mymap;
  25.        
  26.        
  27.         for(int i=0;i<n;i++)
  28.         {
  29.                 freq[i].c='a'+i;
  30.                 freq[i].freq=0;
  31.         }
  32.        
  33.         for(int i=0;i<message.size();i++)
  34.         {
  35.                 if(message[i] == 'n')
  36.                         cout << "enter:"<< i << endl;
  37.  
  38.                 if('a'<=message[i] && message[i]<='z')
  39.                 {
  40.                         int index= message[i]-'a';
  41.                         freq[index].c=message[i];
  42.                         freq[index].freq++;
  43.                 }
  44.                 else if('A'<=message[i] && message[i]<='Z')
  45.                 {
  46.                         int index= message[i]-'A';
  47.                         freq[index].c= tolower(message[i]); //convert to lowercase
  48.                         freq[index].freq++;
  49.                 }
  50.                
  51.         }
  52.         for(int i=0;i<n;i++)
  53.             cout<< freq[i].c + " ";
  54.         cout << endl;
  55.        
  56.         for(int i=0;i<freqLang.size();i++)
  57.                 mymap[freq[i].c]=freqLang[i];
  58.        
  59.        
  60.         for(int i=0;i<message.size();i++)
  61.         {
  62.                 if('a'<=message[i] && message[i]<='z')
  63.                         message[i]= tolower(mymap.find(message[i])->second);
  64.                 else if('A'<=message[i] && message[i]<='Z')
  65.                         message[i]= mymap.find(message[i]+32)->second;
  66.         }
  67.        
  68.     return message;
  69. }
  70.  
  71.  
  72. int main() {
  73.         string message = "Bgc-bfufb tegaedppqna ql aggv zge xof tegaedppfe'l lgjb.n"
  74.         "Xof adpf vflqanfe logjbvn'x hf pdwqna d cgebv qn coqro xof tbdkfen"
  75.         "ql mjlx d lpdbb tdex. Xof tbdkfe QL XOF HGLL; qx'l kgje vjxk xgn"
  76.         "fnxfexdqn oqp ge ofe.n"
  77.         "Zgrjl ql d pdxxfe gz vfrqvqna codx xoqnal kgj def ngx agqna xg vg.n"
  78.         "Xof rglx gz dvvqna d zfdxjef qln'x mjlx xof xqpf qx xdwfl xg rgvfn"
  79.         "qx. Xof rglx dblg qnrbjvfl xof dvvqxqgn gz dn ghlxdrbf xg zjxjefn"
  80.         "fstdnlqgn. Xof xeqrw ql xg tqrw xof zfdxjefl xodx vgn'x zqaox fdron"
  81.         "gxofe. - Mgon Rdepdrw.n"
  82.         "(ccc.adpdljxed.rgp/uqfc/nfcl/234346?utkjpvbjr)n"
  83.         "(ccc.hedqnkijgxf.rgp/ijgxfl/djxogel/m/mgon_rdepdrw.oxpb)";
  84.  
  85.         //cout << message << endl << endl;
  86.        
  87.         string t= "hn"
  88.         "ola";
  89.         cout << t[0] <<" "<<t[1] <<t[2]<<endl;
  90.         cout << (int) t[1];
  91.  
  92.         string freqLang= "TEOAISRHNUCMDLGWFPYKJBVQX";
  93.         string result= decryptMessage(message,freqLang);
  94.         cout <<result;
  95.         return 0;
  96. }
Parsed in 0.073 seconds