Advertisement
NuquernaNarsil

Deszyfrowanie_płotka

Nov 4th, 2014
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<string>
  4. #include<fstream>
  5. using namespace std;
  6. main()
  7. {
  8.     string krypto,klu,tjawny;
  9.     int i,r=0,ilosc,l;
  10.     ifstream klucz("klucz.txt");
  11.     ifstream kryptogram("kryptogram.txt");
  12.     if (klucz.is_open())
  13.     {
  14.         while(klucz.good())
  15.         {
  16.             getline(klucz,klu);
  17.         }
  18.         klucz.close();
  19.     }
  20.     if (kryptogram.is_open())
  21.     {
  22.         while(kryptogram.good())
  23.         {
  24.             getline(kryptogram,krypto);
  25.         }
  26.         kryptogram.close();
  27.     }
  28.        if(klu=="2")
  29.        ilosc=2;
  30.        if(klu=="3")
  31.        ilosc=3;
  32.        if(klu=="4")
  33.        ilosc=4;
  34.        if(klu=="5")
  35.        ilosc=5;
  36.        if(klu=="6")
  37.        ilosc=6;
  38.        if(klu=="7")
  39.        ilosc=7;
  40.        if(klu=="8")
  41.        ilosc=8;
  42.        if(klu=="9")
  43.        ilosc=9;
  44.     cout<<"Kryptogram: "<<krypto<<endl;
  45.     cout<<"Klucz: "<<ilosc<<endl;
  46.  
  47.     r=krypto.length()%ilosc;
  48.     l=krypto.length()/ilosc;
  49.     int x=0,y=0,ilo=0;
  50.  
  51.  
  52.     string d[ilosc];
  53.  
  54.     for(int i=0; i<krypto.length(); i++)
  55.     {
  56.         if(r>0)
  57.         {
  58.             d[y]+=krypto[i];
  59.             ilo++;
  60.             if(ilo==l+1)
  61.             {
  62.              ilo=0;
  63.              r--;
  64.              y++;
  65.             }
  66.         }
  67.         else
  68.         {
  69.             d[y]+=krypto[i];
  70.             ilo++;
  71.             if(ilo==l)
  72.             {
  73.                 ilo=0;
  74.                 y++;
  75.             }
  76.         }
  77.     }
  78.  
  79. string odsz;
  80. for(int i=0; i<l+1; i++)
  81. {
  82.     for(int j=0;j<ilosc;j++)
  83.         odsz+=d[j][i];
  84. }
  85. cout <<endl<<endl<< odsz;
  86.  
  87.  
  88.     getch();
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement