Wybierz plik:




  • Opis programu "szyfr_afiniczny":

    Brak opisu



    #include <iostream>
    #include <fstream>
    using namespace std;
    void zad1(string slowo)
    {

    if(slowo[0]=='d' && slowo[slowo.length()-1]=='d')
    {
    cout<<slowo<<endl;
    }
    }
    void zad2(string slowo)
    {

    if(slowo.length()>9)
    {
    cout<<slowo;
    int zamieniona=0;
    for(int i=0;i<slowo.length();i++)
    {
    zamieniona=((int(slowo[i])-'a')*5+2)%26;
    slowo[i]=char(zamieniona+'a');
    }
    cout<<" "<<slowo<<endl;
    }
    }
    void zad3(string slowo1, string slowo2)
    {
    int tab_szyfrujacy[26][26]={0};
    int tab_deszyfrujacy[26][26]={0};
    cout<<slowo1<<" "<<slowo2<<endl;
    for(int i=0;i<slowo1.length();i++)
    {
    int litera_przed=int(slowo1[i])-'a';
    int litera_po=int(slowo2[i])-'a';
    for(int j=0; j<26;j++)
    {
    for(int k=0;k<26;k++)
    {

    if((litera_przed*j+k)%26==litera_po)
    {
    tab_szyfrujacy[j][k]++;
    }

    if((litera_po*j+k)%26==litera_przed)
    {
    tab_deszyfrujacy[j][k]++;
    }
    }
    }
    }
    for(int c=0;c<26;c++)
    {
    for(int d=0;d<26;d++)
    {

    if(tab_szyfrujacy[c][d]==slowo1.length())
    {
    cout<<"klucz szyfrujacy: "<<c<<" "<<d<<endl;
    }

    if(tab_deszyfrujacy[c][d]==slowo1.length())
    {
    cout<<"klucz deszyfrujacy: "<<c<<" "<<d<<endl;
    }
    }
    }
    }
    int main()
    {
    fstream wejscie1;
    wejscie1.open("tekst.txt",ios::in);
    string slowo="";

    if(wejscie1.good())
    {
    while(!wejscie1.eof())
    {
    wejscie1>>slowo;
    //zad1(slowo);
    zad2(slowo);
    }
    }
    else
    {
    cout<<"dfsdfs";
    }
    wejscie1.close();
    fstream wejscie2;
    wejscie2.open("probka.txt",ios::in);
    string slowo1="";
    string slowo2="";

    if(wejscie2.good())
    {
    while(!wejscie2.eof())
    {
    wejscie2>>slowo1;
    wejscie2>>slowo2;
    // zad3(slowo1,slowo2);
    }
    }
    else
    {
    cout<<"dfsdfs";
    }
    wejscie2.close();
    return 0;
    }