filename2: output file
#include <fstream>
void encrypt(char *filename1,char *filename2)
{
ifstream input(filename1);
ofstream output(filename2);
int times=1;
string currnumb;
string prevnumb;
bool firsttime=true;
bool gedaan;
while(!input.eof())
{
input>>currnumb;
gedaan = false;
if(firsttime == false)
{
if(currnumb==prevnumb)
{
times++;
}
}
else
{
if(times>=3)
{
output<<prevnumb<<"["<<times<<"] ";
gedaan = true;
}
else
{
for(int a = 0; a< times;a++)
output<<prevnumb<<" ";
gedaan = true;
}
times=1;
}
}
prevnumb=currnumb;
firsttime=false;
if(times >= 3)
{
output<<currnumb<<"["<<times<<"]";
}
else
{
for(int a = 0; a < times;a++)
{
output<<currnumb;
if(a != times-1)
output<<" ";
}
}
output.close();
input.close();
}
void decrypt(char *filename1,char *filename2)
{
ifstream input(filename1);
ofstream output(filename2);
string input2;
int mode;
while(!input.eof())
{
input>>input2;
int a=input2.size();
a--;
if(input2[a]==']')
mode = 1;
else
mode = 2;
if(mode ==1)
{
string integer;
int times;
int b=input2.size();
b-=3;
integer=input2.substr(0,b);
char times2 = input2[input2.size()-2];
times=(int) atoi(×2);
for(int a = 0; a < times;a++)
output<<integer<<" ";
}
if(mode ==2)
output<<input2<<' ';
}
input.close();
output.close();
}

New Topic/Question
Reply



MultiQuote

|