#include <iostream>
#include <fstream>
using namespace std;
void zad1(string slowa[], int klucz[])
{
for(int i=0;i<6;i++)
{
char pom;
for(int j=0;j<slowa[i].length();j++)
{
pom=slowa[i][j];
slowa[i][j]=slowa[i][klucz[j%50]-1];
slowa[i][klucz[j%50]-1]=pom;
}
cout<<slowa[i]<<endl;
}
cout<<endl;
}
void zad2(string slowo, int klucz[])
{
char pom;
cout<<slowo<<endl;
for(int j=0;j<slowo.length();j++)
{
pom=slowo[j];
slowo[j]=slowo[klucz[j%15]-1];
slowo[klucz[j%15]-1]=pom;
}
cout<<slowo<<endl;
cout<<endl;
}
void zad3(string slowo, int klucz[])
{
char pom;
cout<<slowo<<endl;
for(int i=49;i>=0;i--)
{
pom=slowo[i];
slowo[i]=slowo[klucz[i%6]-1];
slowo[klucz[i%6]-1]=pom;
}
cout<<slowo;
}
int main()
{
fstream wejscie1;
wejscie1.open("szyfr1.txt",ios::in);
int zad1_klucz[50]={0};
int zad1_licznik=0;
int zad1_licznik2=0;
string zad1_slowoa[6];
if(wejscie1.good())
{
while(!wejscie1.eof())
{
if(zad1_licznik<6)
{
wejscie1>>zad1_slowoa[zad1_licznik];
zad1_licznik++;
}
else
{
wejscie1>>zad1_klucz[zad1_licznik2];
zad1_licznik2++;
}
}
zad1(zad1_slowoa,zad1_klucz);
}
else
{
cout<<"gdfdgf";
}
wejscie1.close();
fstream wejscie2;
wejscie2.open("szyfr2.txt",ios::in);
int zad2_klucz[15]={0};
int zad2_licznik=0;
int zad2_licznik2=0;
string zad2_slowo="";
if(wejscie2.good())
{
while(!wejscie2.eof())
{
if(zad2_licznik<1)
{
wejscie2>>zad2_slowo;
zad2_licznik++;
}
else
{
wejscie2>>zad2_klucz[zad2_licznik2];
zad2_licznik2++;
}
}
zad2(zad2_slowo,zad2_klucz);
}
else
{
cout<<"gdfdgf";
}
fstream wejscie3;
wejscie3.open("szyfr3.txt",ios::in);
int zad3_klucz[6]={6,2,4,1,5,3};
string zad3_slowo="";
if(wejscie3.good())
{
while(!wejscie3.eof())
{
wejscie3>>zad3_slowo;
}
zad3(zad3_slowo,zad3_klucz);
}
else
{
cout<<"gdfdgf";
}
return 0;
}