martes, 10 de marzo de 2015

Codigo Cesar

#include <iostream> #include <string.h> using namespace std; //Funcion codifica void codifica(int n, string & cadena) { for (int i = 0; i < cadena.length(); i++) { if (cadena[i] >= 'a' && cadena[i] <= 'z') { if (cadena[i] + n > 'z') { cadena[i] = 'a' - 'z' + cadena[i] + n - 1; } else if (cadena[i] + n < 'a') { cadena[i] = 'z' - 'a' + cadena[i] + n + 1; } else { cadena[i] += n; } } else if (cadena[i] >= 'A' && cadena[i] <= 'Z') { if (cadena[i] + n > 'Z') { cadena[i] = 'A' - 'Z' + cadena[i] + n - 1; } else if (cadena[i] + n < 'A') { cadena[i] = 'Z' - 'A' + cadena[i] + n + 1; } else { cadena[i] += n; } } } } //Funcion descodificar void descodifica(int n, string & cadena) { codifica(-n, cadena); } //Programa principal int main() { string cadena; int n; cout << "Introduce el mensaje a codificar" << endl; getline(cin, cadena); cout << "Introduce el numero de desplazamiento deseado" << endl; cin >> n; codifica(n, cadena); cout << cadena << endl; descodifica(n, cadena); cout << cadena << endl; }



No hay comentarios.:

Publicar un comentario