07/02/2011, 05:29
|
| | Fecha de Ingreso: febrero-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses Puntos: 0 | |
Respuesta: Problema con cifrado cesar codigo C Solucionado!! :)
Código:
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#define max_tam 1000
void codificacion();
void decodificacion();
int aleatorio();
char s_patron[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789?!*()$#.,";
char s_original[max_tam], s_codificado[max_tam], s_decodificado[max_tam];
int t_original, t_patron, t_codificado, t_codigo, t_decodificado, s_codigo[max_tam];
main()
{
int i;
srand(time((NULL)));
printf("Introduce un texto a codificar:\n");
scanf("%[^\n]", s_original);
t_original=strlen(s_original);
printf("El codigo es: ");
codificacion();
printf("\nLa frase codificada es: %s\n", s_codificado);
decodificacion();
printf("La frase decodificada es: %s\n", s_decodificado);
system("PAUSE");
}
void codificacion()
{
int i, j, n;
for(i=0; i<t_original;i++)
{
t_patron=strlen(s_patron);
for(j=0; j<t_patron; j++)
{
if(s_original[i]==s_patron[j])
{
n=aleatorio();
s_codificado[i]=s_patron[j+n];
s_codigo[i]=n;
printf("%d", n);
}
}
}
}
void decodificacion()
{
int i, j, n;
t_codificado=strlen(s_codificado);
for(i=0; i<t_codificado;i++)
{
for(j=0; j<t_patron; j++)
{
if(s_codificado[i]==s_patron[j]) s_decodificado[i]=s_patron[j-s_codigo[i]];
}
}
}
int aleatorio()
{
int aleatorio;
aleatorio = rand()%9+1;
return aleatorio;
}
|