domingo, 16 de noviembre de 2008

Cifrar un numero en C

Ejercicio 3.46 del libro de Deitel

Una empresa debe transmitir datos mediante el teléfono, pero esta preocupados de que sus teléfonos pudieran estar intervenidos. Todos sus datos se transmiten como enteros de 4 dígitos. Le han solicitado a usted que escriba un programa que cifre sus datos, de tal forma que puedan ser transmitidos con mayor seguridad. Su programa deberá leer un entero de 4 dígitos y cifrarlo como sigue, remplazar cada dígito por (la suma del dígito mas 7) modulo 10. A continuación intercambiar el primer dígito con el tercero y el segundo con el cuarto. A continuación imprimir el entero cifrado. Escriba un entero por separado, que introduzca un numero entero cifrado, y lo decifre para formar el numero original.

========================================================================
//programa que lee un numero y lo cifra
# include
main ()
{
int n, d1, d2, d3, d4;

printf("Dame un numero entero de 4 digitos");
scanf("%d",& n);
if (n<=9999){
d1 = n%10;
n = n/10;
d2 = n%10;
n = n/10;
d3 = n%10;
n = n/10;
d4 = n;

d1 = ((d1+7)%10) * 100;
d2 = ((d2+7)%10) * 1000;
d3 = ((d3+7)%10) * 1;
d4 = ((d4+7)%10) * 10;

printf("El numero cifrado es %d", d1 + d2 + d3 + d4);
}
else {
printf("No es un numero de cuatro digitos");
}
getch();
return 0;
}

==================================================================
//programa que lee un numero y lo decifra
# include
main ()
{
int n, d1, d2, d3, d4;

printf("\nDame un numero cifrado de 4 digitos\n");
scanf("%d",& n);
if (n<=9999){
d1 = n%10;
n = n/10;
d2 = n%10;
n = n/10;
d3 = n%10;
n = n/10;
d4 = n;

d1 = (d1+3) * 100;
d2 = (d2+3) * 1000;
d3 = (d3+3) * 1;
d4 = (d4+3) * 10;

printf("El numero decifrado es \t%d", d1 + d2 + d3 + d4);
}
else {
printf("No es un numero de cuatro digitos");
}
getch();
return 0;
}

sábado, 15 de noviembre de 2008

RESUMEN DE LA NOVELA Y LA ROCA GRITÓ


-->

La historia comienza cuando John Webb y Leonora Webb se encontraban huyendo en su auto, en un momento la guerra había eliminado a la mayor parte de la población de Estados Unidos, Europa, Rusia y Liberia, la raza blanca había pasado a ser una minoría, los señores Webb eran parte de esa minoría, y los estaban cazando.

Querían salir del país, entonces se dirigieron a la frontera, ahí se encontraron a tres hombres que la vigilaban, les negaron el paso a los señores Webb no sin antes quitarles dos mil pesos. Solo les quedaba dirigirse a Porto Bello, pero para eso necesitaban gasolina. Se fueron de ahí y se detuvieron en una estación de combustible. Pidieron gasolina y una vez más se negaron a darles nada a los señores Webb.

No tenían suficiente gasolina para salir de ahí, no tenían otra opción mas que dejar el auto en la estación, así lo hicieron y luego partieron hacia la ciudad. Iban en el camino cuando oyeron que se acercaba un coche, se hicieron a un lado, luego alzaron la vista y vieron que era el coche que hasta hace pocos minutos era de ellos, tan solo pudieron ver como el polvo que había levantado el coche se depositaba lentamente.

Seguían caminando cuanto el ruido de un motor les hizo volver la cabeza, era un Ford 1929 que se acercaba, el auto se detuvo, en él estaba un señor que decía llamarse García y que les ofreció llevarlos a la ciudad.

Llegaron a la ciudad, todo mundo los veía y no les quitaban la vista hasta que desaparecían. Llegaron al hotel del señor Esposa, John Web lo conocía de hace cinco años que jugaron a las cartas. Pidieron quedarse en el hotel esa noche, el señor Esposa aceptó.

Ya en la habitación se oían gritos y disparos de la multitud que querían sacar a los señores Webb, se oyó la voz del señor Esposa platicando con la multitud, luego la calma volvió.

Al día siguiente el señor Esposa subió a la habitación de los señores Web, les dijo que había impedido que los sacaran la noche anterior gracias a que les había dicho que los Webb iban a trabajar para él. Entonces, el señor esposa les ofreció trabajo. Los Webb no sabían que hacer, era aceptar el trabajo o salir a la calle en donde los estaba esperando la multitud, era una decisión difícil.
John habló con su esposa, y juntos tomaron la decisión, no iban a aceptar el trabajo del señor Esposa. Salieron del hotel.

Se acercaban a una carnicería al aire libre, se dirigieron hacia la multitud.

lunes, 10 de noviembre de 2008

Sacar el valor de pi en C

El programa lo calcula a partir de la serie infinita pi = 4 -(4/3)+(4/5)-(4/7)+(4/9)... etc.

==============================================================

//calcula el valor de pi a partir de la serie infinita
#include
main ()
{
int c = 4, n;
float pi = 0;

for (n = 3; n <= 99999999; n+=2){/*aqui se indica el numero de terminos que tendra la serie*/
pi = pi +( (float)- c/n);
n = n + 2;
pi = pi + ((float) c/n);

}

pi += c;

printf ("pi:\t%1.12f", pi);
getch ();
return 0;
}

viernes, 7 de noviembre de 2008

Convertir a numeros romanos en C

//4.33.c
//convierte numeros decimales a romanos del rango de 1 a 1000
#include
main ()
{
int n, a, b, c, d;

printf("PROGRAMA QUE CONVIERTE NUMEROS DECIMALES A ROMANOS \n\nProporciona el numero a convertir:\n");
scanf ("%d", & n);
printf ("Equivalente:\n");
d = n%10;
n = n/10;
c = n%10;
n = n/10;
b = n%10;
a = n/10;

switch (a){

case 1: printf ("M"); break;
case 2: printf ("MM"); break;
case 3: printf ("MMM"); break;

default: break;
}
switch (b){

case 1: printf ("C"); break;
case 2: printf ("CC"); break;
case 3: printf ("CCC"); break;
case 4: printf ("CD"); break;
case 5: printf ("D"); break;
case 6: printf ("DC"); break;
case 7: printf ("DCC"); break;
case 8: printf ("DCCC"); break;
case 9: printf ("CM"); break;

default: break;
}

switch (c){

case 1: printf ("X"); break;
case 2: printf ("XX"); break;
case 3: printf ("XXX"); break;
case 4: printf ("XL"); break;
case 5: printf ("L"); break;
case 6: printf ("LX"); break;
case 7: printf ("LXX"); break;
case 8: printf ("LXXX"); break;
case 9: printf ("XC"); break;

default: break;
}

switch (d) {

case 1: printf ("I"); break;
case 2: printf ("II"); break;
case 3: printf ("III"); break;
case 4: printf ("IV"); break;
case 5: printf ("V"); break;
case 6: printf ("VI"); break;
case 7: printf ("VII"); break;
case 8: printf ("VIII"); break;
case 9: printf ("IX"); break;

default: break;
}
getch ();
return 0;
}