elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como cifrar letra por letra en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 5 6 7 Ir Abajo Respuesta Imprimir
Autor Tema: Como cifrar letra por letra en C++  (Leído 65,069 veces)
CCross

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Como cifrar letra por letra en C++
« Respuesta #20 en: 11 Junio 2013, 01:11 am »

Bueno Alguien que me explique algo  :(
El código de leosansan pero necesito que en lugar de ese método lo cambie por este:
A = X
B = J
C = O
D = P
.....................

Creo que seria mas o menos asi:

Código
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5.    char caracter[2][28] = { {"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"},
  6.                             {"XJOPZWAUÑLDQSFRBMVHKNYTIEGC"} };
  7.    char cadena[30] = {0};
  8.    int i, j = 0, k = 0;
  9.  
  10.    printf("Ingrese una cadena en Mayuscula: ");
  11.    scanf("%s", cadena);
  12.  
  13.       for (; cadena[k]!='\0'; k++){
  14.           for (i = 0; i < 27; i++)
  15.               if (cadena[j] == caracter[0][i]){
  16.                   cadena[j] = caracter[1][i];
  17.                   j++;
  18.             }
  19.       }
  20.     printf("\n%s", cadena);
  21.  
  22.     return 0;
  23. }
  24.  

Saludos  ::)


« Última modificación: 11 Junio 2013, 03:06 am por CCross » En línea

Royca3

Desconectado Desconectado

Mensajes: 45



Ver Perfil WWW
Re: Como cifrar letra por letra en C++
« Respuesta #21 en: 11 Junio 2013, 01:13 am »

Osea que? No se puede? o que debo hacer?
 :-X


En línea

Homo erectus
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Como cifrar letra por letra en C++
« Respuesta #22 en: 11 Junio 2013, 01:19 am »

Osea que? No se puede? o que debo hacer?
 :-X
El método de Ccros funciona  ;)
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Royca3

Desconectado Desconectado

Mensajes: 45



Ver Perfil WWW
Re: Como cifrar letra por letra en C++
« Respuesta #23 en: 11 Junio 2013, 01:37 am »

Bueno compilo el código y tiene cero errores  ;-)
Pero a lo que lo ejecuto e ingreso la palabra a cifrar
se sale automáticamente, luego ingreso nuevamente y me aparecen los resultados pero solo cambia la primer letra las demás las deja iguales.
 
Saludos.
En línea

Homo erectus
CCross

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Como cifrar letra por letra en C++
« Respuesta #24 en: 11 Junio 2013, 01:52 am »

Bueno compilo el código y tiene cero errores  ;-)
Pero a lo que lo ejecuto e ingreso la palabra a cifrar
se sale automáticamente, luego ingreso nuevamente y me aparecen los resultados pero solo cambia la primer letra las demás las deja iguales.

He editado el codigo de arriba ahora hace los que deseas

Saludos  ;D
En línea

Royca3

Desconectado Desconectado

Mensajes: 45



Ver Perfil WWW
Re: Como cifrar letra por letra en C++
« Respuesta #25 en: 11 Junio 2013, 02:30 am »

He editado el codigo de arriba ahora hace los que deseas

Saludos  ;D

Bueno mi amgo :D Gracias por tu interes...

Ahora me aprarece un error en
printf("\n%s", cadena);
 
     return 0;
}

Intentare compilarlo con el Dev-c++

Saludos.
En línea

Homo erectus
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Como cifrar letra por letra en C++
« Respuesta #26 en: 11 Junio 2013, 02:36 am »

Bueno mi amgo :D Gracias por tu interes...

Ahora me aprarece un error en
printf("\n%s", cadena);
 
     return 0;
}

Intentare compilarlo con el Dev-c++

Saludos.
Es la línea 18 y es porque falta un punto y coma.

Te falta soltura en el lenguaje, yo te recomiendo que te lo mires entero.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Como cifrar letra por letra en C++
« Respuesta #27 en: 11 Junio 2013, 03:11 am »

En el cifrado de Cesar para encontrar los sustitutos puedes utilizar el operador de modulo (ya hay ejemplos) o bien se pueden colocar todos los caracteres en un array, con ello la operación termina como una suma (o resta si la operación es descifrar).

Por ejemplo:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define ABC  "abcdefghijklmnopqrstuvwxyz"
  5.  
  6. int main(void)
  7. {
  8.   char ch[] = ABC  ABC;
  9.   size_t max_despl = sizeof(ABC) - 1;
  10.   unsigned despl;
  11.   unsigned i;
  12.  
  13.   printf("Desplazamiento: ");
  14.   fflush(stdout);
  15.   if (scanf("%u", &despl) != 1 || despl > max_despl)
  16.      return EXIT_FAILURE;
  17.  
  18.   for (i = 0; i < max_despl; i++)
  19.      printf("%c ==> %c\n", ch[i], ch[i + despl]);
  20.  
  21.   return EXIT_SUCCESS;
  22. }

----

Lo que yo necesito es un programa que pida una palabra o frase y que cambie las letras ejemplo A por H b por X y asi entiendes?
Para eso debes colocar todos los caracteres a buscar en un array y sus sustituciones en otro, mas o menos así:
Código
  1. char  in[] = "Ab";
  2. char out[] = "HX";
Buscas cada carácter en el array "in" para conocer su indice, una vez lo obtienes (el indice, claro) lo sustituyes por el carácter correspondiente (mismo indice) del array "out".

La solución ya la tienes en el programa de CCross, una opción ligeramente distinta es utilizando la función strchr para realizar la búsqueda:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(void)
  6. {
  7.   char  in[] = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
  8.   char out[] = "XJOPZWAUÑLDQSFRBMVHKNYTIEGC";
  9.   char cadena[30];
  10.   char *p;
  11.   int i;
  12.   int j;
  13.  
  14.   printf("Ingrese una cadena en Mayuscula: ");
  15.   fflush(stdout);
  16.   if (scanf("%s", cadena) != 1)
  17.      return EXIT_FAILURE;
  18.  
  19.   for (i = 0; cadena[i] != '\0'; i++){
  20.      p = strchr(in, cadena[i]);
  21.      putchar(p == NULL ? cadena[i] : out[p - in]);
  22.   }
  23.   putchar('\n');
  24.  
  25.   return EXIT_SUCCESS;
  26. }

Un saludo
« Última modificación: 11 Junio 2013, 03:27 am por rir3760 » En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
CCross

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Como cifrar letra por letra en C++
« Respuesta #28 en: 11 Junio 2013, 03:29 am »

Disculpa por el detallito lo que causa codedear a prisas, ya lo correji

Saludos  ;-)
« Última modificación: 11 Junio 2013, 04:01 am por CCross » En línea

Royca3

Desconectado Desconectado

Mensajes: 45



Ver Perfil WWW
Re: Como cifrar letra por letra en C++
« Respuesta #29 en: 11 Junio 2013, 03:48 am »

rir3760 Muchas gracias el código es lo que buscaba pero obtengo el mismo error anterior el programa se me cierra antes de mostrar los resultados  :-( alguien sabe el porque?

(Gracias a TODOS)

Saludos.
En línea

Homo erectus
Páginas: 1 2 [3] 4 5 6 7 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Codificacion en archivos bat, letra ñ
Scripting
santi810 3 12,248 Último mensaje 1 Diciembre 2013, 18:57 pm
por Eleкtro
[DUDA] Como Desactivar Dispositivos Portátiles Para Que Se Le Asigne Una Letra
Windows
KZN 3 2,924 Último mensaje 11 Marzo 2014, 17:00 pm
por Randomize
Dibujar letra 'T'
PHP
luchi 2 2,393 Último mensaje 20 Abril 2014, 22:14 pm
por luchi
Como con una letra direccionarme a la tabla/registro?
Programación C/C++
enzopaez14 1 2,116 Último mensaje 5 Septiembre 2016, 02:50 am
por AlbertoBSD
Comparar letra una letra en un array, con una letra del abcdario
Programación C/C++
Naimaderis 2 3,970 Último mensaje 10 Marzo 2017, 04:24 am
por Naimaderis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines