Professional Documents
Culture Documents
DECRYPT
WEEKEND PROJECT
SIRURI DE CARACTERE
By Team AK
Strinu
Narcis
-Vaduva Gabriel
-Marcu Vlad
-Dima Cosmin
-Butaru Florin
Hmmm
#include<iostream.h>
#include<fstream.h>
#include<string.h>
fstream fin("date.txt", ios::in);
fstream fout("decripted.txt",
ios::out);
int main(){
char s[10000];
char linex[500];
int len;
s[0]=0;
while(!fin.eof()){
fin.getline(linex, 499);
strcat(s, "\n");
strcat(s, linex);
}
}
In continuare,
continuare, au
au stabilit
stabilit pozitia
pozitia primei
primei vocale
vocale in
in
In
contextul sirului
sirului de
de caractere
caractere initialeh..un
initialeh..un fel
fel de
de
contextul
pozitie,
pozitie, caci
caci au
au hotarat
hotarat ca
ca programul
programul sa
sa devina
devina
putin
mai
abstract.
putin mai abstract.
int reallen=strlen(s);
int mastercode;
len=strlen(s)-1;
char vocale[]="aeiouAEIOU";
char *pos=strpbrk(s, vocale);
int vocal_pos=s-pos;
int user_code;
cout<<"Usercode: ";
cin>>user_code;
char signx;
if(mastercode<0)
{
signx='N';
mastercode=mastercode*(-1);
}
else
{
signx='P';
}
char master_final[20];
char usrnr[4], mcode[15];
itoa(user_code, usrnr, 10);
itoa(mastercode, mcode, 10);
strcat(master_final, usrnr);
int sk=strlen(master_final);
master_final[sk]=signx;
strcat(master_final, mcode);
printf("Mastercode: %s\n", master_final);
Nici o problema
Inversam procesul
#include<iostream.h>
#include<fstream.h>
#include<string.h>
fstream fin("date.txt", ios::in);
fstream fout("decripted.txt", ios::out);
int main(){
char s[10000];
char linex[500];
while(!fin.eof()){
fin.getline(linex, 499);
strcat(s, "\n");
strcat(s, linex);
}
int reallen=strlen(s);
char code[20];
cout<<"Decrypt code:";
gets(code);
char md[]="NPnp";
char *pos=strpbrk(code, md);
char signx=pos[0];
char user_code[4];
char mastercode[15];
strncpy(user_code, code, pos-code);
user_code[strlen(user_code)]=0;
strncpy(mastercode, pos+1,
strlen(pos+1));
int mcode=atoi(mastercode);
int ucode=atoi(user_code);
if(signx=='p')signx=='P';
if(signx=='n')signx=='N';
for(int i=0;i<=reallen-1;i++){
if(signx=='N'){
s[i]=s[i]-(-mcode)-ucode;
}
else
{
s[i]=s[i]-mcode+ucode;
}
}
printf("%s\n", s+2);
fout.write(s+2, strlen(s));
system("pause");
}
Peste 3 zile.
Au primit un mail de la guvern in care scria:
Contactati-ne dupa ce veti decoda acest sir de caractere codat
cu aplicatia voastra. Codul de decodare nu vi-l vom da, va
trebui sa il aflati voi.
Succes!
Text:
C`b`bhshsh`bdrsldr`i+rtmsdshBNMBDCH@SH
O`hnqhbqhos`lnqhmtl`hbqhos`l---
Au cautat.
S-au stresat
SI AU AFLAT CODUL:
123N124
THE END