Skip to content

Instantly share code, notes, and snippets.

@dafr32
Created December 1, 2013 15:17
Show Gist options
  • Save dafr32/7735236 to your computer and use it in GitHub Desktop.
Save dafr32/7735236 to your computer and use it in GitHub Desktop.
Matura Rozsz 2012 zad.4
#include <iostream>
#include <fstream>
using namespace std;
fstream plik1,plikKlucz,plikZapis;
string Szyfr(string slowo,string klucz)
{
int nr=0;
string szyfr="";
int kod=0;
for(int i=0;i<slowo.length();i++)
{
if(nr==klucz.length()) nr=0;
kod = slowo[i]+ (klucz[nr]-64);
//cout<<slowo[i]<<":"<<klucz[nr]<<" "<<kod;
if( kod>90 )
{
kod = kod-26;
//cout<<"-"<<kod;
}
szyfr=szyfr+char(kod);
//cout<<":"<<szyfr<<endl;
nr++;
}
return szyfr;
}
string DeSzyfr(string slowo,string klucz)
{
int nr=0;
string szyfr="";
int kod=0;
for(int i=0;i<slowo.length();i++)
{
if(nr==klucz.length()) nr=0;
kod = slowo[i] - (klucz[nr]-64);
//cout<<slowo[i]<<":"<<klucz[nr]<<" "<<kod;
if( kod<65 )
{
kod = kod+26;
// cout<<"-"<<kod;
}
szyfr=szyfr+char(kod);
//cout<<":"<<szyfr<<endl;
nr++;
}
return szyfr;
}
int main()
{
string slowo,klucz;
// cout<<Szyfr("MARTA","TOR")<<endl;
// cout<<Szyfr("LATO","WODA");
//
// cout<<DeSzyfr("GPJNP","TOR");
plik1.open("D:\\_Profile\\Darek\\Moje dokumenty\\c+\\2012\\tj.txt",ios::in);
plikKlucz.open("D:\\_Profile\\Darek\\Moje dokumenty\\c+\\2012\\klucze1.txt",ios::in);
plikZapis.open("D:\\_Profile\\Darek\\Moje dokumenty\\c+\\2012\\Wynik4a.txt",ios::out);
if (plik1 && plikKlucz && plikZapis )
{
while (plikKlucz>>klucz)
{
plik1>>slowo;
plikZapis<< Szyfr(slowo,klucz)<<endl;
}
plik1.close();
plikKlucz.close();
plikZapis.close();
}
plik1.open("D:\\_Profile\\Darek\\Moje dokumenty\\c+\\2012\\sz.txt",ios::in);
plikKlucz.open("D:\\_Profile\\Darek\\Moje dokumenty\\c+\\2012\\klucze2.txt",ios::in);
plikZapis.open("D:\\_Profile\\Darek\\Moje dokumenty\\c+\\2012\\Wynik4b.txt",ios::out);
if (plik1 && plikKlucz && plikZapis )
{
while (plikKlucz>>klucz)
{
plik1>>slowo;
plikZapis<< DeSzyfr(slowo,klucz)<<endl;
}
plik1.close();
plikKlucz.close();
plikZapis.close();
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment