Título: codigos basicos
Publicado por: Duke en 13 Noviembre 2006, 23:01 pm
Estaba pensando que en este tema se pusieran codigos de cualquier lenguaje para que podamos verlos y aprender todos. Espero que se animen y coperen! Espero que haya gente que sepa ensamblador y pongan codigos que es lo que quiero aprender. Cuando pongan los codigos pongan el compilador en que lo compilaron. Bueno empiezo Yo Compilado en visual c++ 2005.Este codigo es parte de un brute force para descifrar un password.Esta hecho en C. #include <stdio.h>
//variables globales se pueden usar en cualquier parte del codigo. char pass[15]; char des_pass[15];
//funcion que va a descifrar el password si es mas de un caracter
void desifrando(int n) { int x;
for(x=1; x<=255; x++) { des_pass[n] = x; //le asigna un caracter al elemento n del array
if(des_pass[n] == pass[n]) /*si ambos caracter son iguales quiere decir que se encontro el caracter.*/ {
if(pass[n+1] == '\0') //si el procimo caracter es null(vacio) quiere decir que se decifro todo //el password si el { //caracter no es null salta a else
des_pass[n+1] = '\0'; //se le añade al final del array un null printf("El password es %s\n", des_pass); //muetra el password decifrado break; // termina el proceso de descifrar el password } else desifrando(n+1); //llama a esta misma funcion pero para descifrar el proximo caracter } } }
int main() { int x, i=0; //variables locales solo se pueden usar dentro de main() printf("Palabra a descifrar: "); scanf("%s", pass); /*En el for la x va a ser un numero pero lo que se pone en el des_pass va a ser un caracter que le corresponda a el numero de x.*/
for(x=1; x<=255; x++) { des_pass[i] = x; if(des_pass[i] == pass[i]) // si son iguales se decifro el caracter { if(pass[i+1] == '\0') // si el proximo es null se decifro completo sino tiene //que pasar a descifrar el { //otro caracter des_pass[1] = '\0'; printf("El password es %s\n", des_pass); break; //para terminar el loop } else desifrando(i+1); //llama a la funcion que esta arriba } } return 0; }
Este otro codigo lo que hace es buscar el factorial de un numero por ejemplo el de 5 es 1*2*3*4*5 = 120. #include <stdio.h>
int main() { int n, i; double f=1;
printf("Digite un numero: "); scanf("%d", &n);
//El for se encarga de multiplicar todos los numeros for(i=1; i<=n; i++) f=f*i;
printf("\nEl factorial de %d es %.0f\n", n, f); return 0; }
Título: Re: codigos basicos
Publicado por: Duke en 16 Noviembre 2006, 23:08 pm
Este programa resuelve los polinomios ax(al cuadrado)+bx+c usando la formula cuadratica. /*Hecho en visual c++ 2005 en lenguaje c*/
#include <stdio.h> //El math.h para poder usar pow que sirve para calcular raizes. #include <math.h>
int main() { int a, b, c; double r1, r2, d;
do { printf("Digite valor del primer termino: "); scanf("%d", &a); if(a == 0) printf("No puede ser 0!\n\n"); }while(a == 0);
printf("Digite valor del segundo termino: "); scanf("%d", &b); printf("Digite valor del tercer termino: "); scanf("%d", &c);
d = (b*b)-(4*a*c);
/* Si d es negativo no se puede resolver y pone un mensaje sino salta a else y resuelve el polinomio.*/ if(d < 0) { printf("\nLa raiz es negativa por tanto " "el polinomio no factoriza!\n"); } else { /*De esta forma es mas rapido que la otra porque arriba ya se hizo los calculos de la raiz que esta en d*/ r1 = ((-1*b) - pow(d,0.5)) / (2*a);
/*De la forma larga*/ r2 = ((-1*b) + pow(d=((b*b) - (4*a*c)),0.5)) / (2*a);
printf("\nSolucion: x = %f y x = %f\n", r1, r2); } return 0; }
Título: Re: codigos basicos
Publicado por: _Sergi_ en 17 Noviembre 2006, 00:53 am
Es una buena idea, pero te recomiendo que utilices las etiquetas de código, así es más legible.
Un saludo
Título: Re: codigos basicos
Publicado por: дٳŦ٭ en 17 Noviembre 2006, 20:12 pm
Exclente, pondré unos de delphi.
Por qué no pruebas http://rafb.net/paste/ ?
Saludos!
|