codigos basicos

Iniciado por Duke, 13 Noviembre 2006, 23:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Duke

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;
}

Duke

#1
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;
}

_Sergi_

Es una buena idea, pero te recomiendo que utilices las etiquetas de código, así es más legible.

Un saludo
Proyecto de Ingeniero

дٳŦ٭

Exclente, pondré unos de delphi.

Por qué no pruebas http://rafb.net/paste/ ?

Saludos!


Con sangre andaluza :)