Ir ao conteúdo
  • Cadastre-se

Brute force


Bruno Benedetti

Posts recomendados

Fiz esse código dês do inicio para brute force de 3 números, a logica esta boa?

Comecei a programar não faz nem uma semana, então se puderem me ajudar agradeço!

-----------------------------------------------------------------------------------------------------------------------------------------------------

 

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

 

/* Brute force 

*/

 

int main(void)

{

   

    int senha;

    int senhatest;

    

    DE_NOVO:

            

    system("cls");

    printf ("Digite uma senha de 3 digitos\n");

    scanf ("%i", &senha);

    if ((senha) > 999 || (senha < 0)) goto DE_NOVO;

    int caractere1 = -1;

    int caractere2 = 0;

    int caractere3 = 0;

    

    while (caractere1 < 10)

    {

          

          caractere1 = ++caractere1;

          caractere2 = 0;

          caractere3 = 0;

          senhatest = (1 * caractere3) + (10 * caractere2) + (100 * caractere1);

          if (senhatest != senha)

          {

                        

                        while (caractere2 < 10)

                        {

                              

                              caractere2 = ++caractere2;

                              caractere3 = 0;

                              senhatest = (1 * caractere3) + (10 * caractere2) + (100 * caractere1);

                              if (senhatest != senha)

                              {

                    

                                      while (caractere3 <= 10)

                                      {

                                            

                                            senhatest = (1 * caractere3) + (10 * caractere2) + (100 * caractere1);

                                            if (senhatest != senha)

                                            {

                        

                                                          caractere3 = ++caractere3;

                                            }

                                            else

                                            {

                        

                                                          printf ("Descobri, \602 %i \n", senhatest);

                                                          caractere3 = 11;

                                                          caractere2 = 11;

                                                          caractere1 = 11;

                                            }

                                      }      

                              }

                              else

                              {

                                  

                                      printf ("Descobri, \602 %i \n", senhatest);

                              }

                        }   

    

          }  

          else

          {

              

                        printf ("Descobri, \602 %i \n", senhatest);

          }             

    }                                             

    system ("PAUSE");

    return 0;

}

 

-----------------------------------------------------------------------------------------------------------------------------------------------------

Link para o comentário
Compartilhar em outros sites

o programa até que ficou legal, mas o código não está nada elegante. Lógico, pra quem começou a programar a uma semana atrás está muito bom. Parabéns.

Dá uma olhada nessa outra maneira de fazer seu código, eu aprendi muito só observando o código de quem programava a mais tempo que eu.

 

#include <stdio.h>#include <stdlib.h>#define SENHA_MAXIMA 99999int main(void) {    int senha;    int i = 0;    do {      system("CLS");      printf ("Digite uma senha com ate 5 digitos\n");      printf ("Digite 0 para sair\n");      scanf ("%i", &senha);      for (i = 0; i < SENHA_MAXIMA; i++) {        printf("Testando senha: %d\n", i);        if ( i == senha) {          if (i != 0)            printf("Sua senha eh: %d\n", i);          break;        }      }      system ("PAUSE");    } while (senha != 0);    return 0;}
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

 

o programa até que ficou legal, mas o código não está nada elegante. Lógico, pra quem começou a programar a uma semana atrás está muito bom. Parabéns.

Dá uma olhada nessa outra maneira de fazer seu código, eu aprendi muito só observando o código de quem programava a mais tempo que eu.

 

#include <stdio.h>#include <stdlib.h>#define SENHA_MAXIMA 99999int main(void) {    int senha;    int i = 0;    do {      system("CLS");      printf ("Digite uma senha com ate 5 digitos\n");      printf ("Digite 0 para sair\n");      scanf ("%i", &senha);      for (i = 0; i < SENHA_MAXIMA; i++) {        printf("Testando senha: %d\n", i);        if ( i == senha) {          if (i != 0)            printf("Sua senha é: %d\n", i);          break;        }      }      system ("PAUSE");    } while (senha != 0);    return 0;}

MUTIO SHOW!!!!!! Cara, nao entendi uma coisa, porque o while ta dps do system ("PAUSE")? É pra só dar return 0 se eu tiver digitado 0 na int senha?

Link para o comentário
Compartilhar em outros sites

MUTIO SHOW!!!!!! Cara, nao entendi uma coisa, porque o while ta dps do system ("PAUSE")? É pra só dar return 0 se eu tiver digitado 0 na int senha?

é porque não é um while, é um do{} while;

http://www.cprogressivo.net/2013/02/O-que-e-e-como-usar-o-laco-DO-WHILE-em-linguagem-C.html

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!