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;
}
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;
}
Es una buena idea, pero te recomiendo que utilices las etiquetas de código, así es más legible.
Un saludo
Exclente, pondré unos de delphi.
Por qué no pruebas http://rafb.net/paste/ ?
Saludos!