1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#include <iostream>
using namespace std;
void cifrar(char *alfa, char *num, char *fr,char *cifrado, int len);
void descifrar(char *alfa, char *num, char *cifrado,char *descifrado, int len);
void main(){
char alfabeto[] = {"abcdefghijklmnopqrstuvwxyz"};
char numeros[] = {"0123456789"};
char frase[256];
cout<<"Introduzca la frase: ";
cin.getline(frase,256);
int l=strlen(frase);
char *cifrada;
char *descifrada;
cifrada=new char[l];
descifrada=new char[l];
cifrar(alfabeto, numeros, frase,cifrada, l);
cout<<"La frase cifrada es: "<<cifrada<<endl;
descifrar(alfabeto, numeros, cifrada,descifrada, l);
cout<<"La frase descifrada es: "<<descifrada<<endl;
delete[] cifrada;
delete[] descifrada;
}
void cifrar(char *alfa, char *num, char *fr,char *cifrado, int len){
for(int d=0;d<len;d++){
cifrado[d]=fr[d];
}
cifrado[len]='\0';
for(int i=0;i<len;i++){
for(int j=0;j<26;j++){
if(fr[i]==alfa[j]){
cifrado[i]=alfa[25-j];
break;
}
}
}
for(int a=0;a<len;a++){
for(int b=0;b<10;b++){
if(fr[a]==num[b]){
cifrado[a]=num[9-b];
break;
}
}
}
}
void descifrar(char *alfa, char *num, char *cifrado,char *descifrado, int len){
for (int d=0;d<len;d++){
descifrado[d]=cifrado[d];
}
descifrado[len]='\0';
for(int i=0;i<len;i++){
for(int j=0;j<26;j++){
if(cifrado[i]==alfa[j]){
descifrado[i]=alfa[25-j];
}
}
}
for(int a=0;a<len;a++){
for(int b=0;b<10;b++){
if(cifrado[a]==num[b]){
descifrado[a]=num[9-b];
}
}
}
}
| |