Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: peterfly en 6 Julio 2013, 13:07 pm



Título: necesito orientacion en este tipo de programa...
Publicado por: peterfly en 6 Julio 2013, 13:07 pm
no se por donde empezar para explicar el proyecto... pero lo intentare...

teniendo:
a-a
a-b
a-c
a-d

b-a
b-b
b-c
b-d

c-a
c-b
c-c
c-d

d-a
d-b
d-c
d-d

necesito que calcule todas las posibilidades para enlazarlos todos...
ejemplo:
a-b b-c c-d d-d
a-b b-c c-a
etc, etc...

y como el titulo bien lo dice... necesito orientación... que debería hacer para crear este tipo de programa???

de antemano... gracias!!!

pd: la idea es para palabras y no para letras


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: amchacon en 6 Julio 2013, 13:36 pm
Las posibilidades son NxN.


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: burbu_1 en 6 Julio 2013, 16:53 pm
http://es.wikipedia.org/wiki/Permutaci%C3%B3n

no creo que sea lo que te piden..... :P


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: pacoperico en 6 Julio 2013, 21:00 pm
Es un problema basico de combinatoria, hacer un programa para ello tan solo tendrias que usar la funcion pow(). Lo resuelves elevando el numero total de letras distintas al numero de letras que tendria la palabra.


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: rir3760 en 7 Julio 2013, 05:29 am
necesito que calcule todas las posibilidades para enlazarlos todos...
ejemplo:
a-b b-c c-d d-d
a-b b-c c-a
etc, etc...

y como el titulo bien lo dice... necesito orientación... que debería hacer para crear este tipo de programa?
Por lo que veo no son permutaciones sino combinaciones donde un elemento x-y debe esta colocado después de uno ?-x y antes de uno y-?. ¿Estoy en lo correcto?

Si publicas toda la información que tengas sobre el programa tal vez alguien pueda ayudarte.

Un saludo


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: Zodiak98 en 8 Julio 2013, 17:40 pm
No entendí muy bien, pero esto es lo qué pude hacer a mi entender de lo qué quisiste decir:

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <windows.h>
  4.  
  5. int main()
  6. {
  7.    int a , b;
  8.  
  9.    char abecedario[28] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n',char(164),
  10.                           'o','p','q','r','s','t','u','v','w','x','y','z',0};
  11.  
  12.    for( a = 0 ; a < 27 ; a++ )
  13.    {
  14.        printf("<------ Letra '%c' ----->\n",abecedario[a]);
  15.  
  16.        for( b = 0 ; b < 27 ; b++ )
  17.        {
  18.            std::cout << abecedario[a] << " - " << abecedario[b] << std::endl;
  19.            Sleep(100);
  20.        }
  21.  
  22.        printf("\n");
  23.  
  24.    }
  25.  
  26.    std::cin.get();
  27.    return 0;
  28. }
  29.  

OnTopic: Perdona si no es eso lo qué quieres. :)


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: peterfly en 10 Julio 2013, 23:54 pm
Código:
Por lo que veo no son permutaciones sino combinaciones donde un elemento x-y debe esta colocado después de uno ?-x y antes de uno y-?. ¿Estoy en lo correcto?

asi es necesito todas las combinaciones posibles entre la varias palabras... la idea es para averiguar todas las rutas posibles de estaciones del juego deepolis...

http://deepolis.republika.pl/eng.swf

y como no se por donde empezar ni que deberia acer... ay la pregunta...

por cierto lo de NxN es solo para letras o tambien puedo poner palabras??? i como

ejemplo de una ruta del deepolis:
Balanza-Lead-Sonaris
Sonaris-Magnesium-Balanza

y asi ay muxas mas...


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: amchacon en 11 Julio 2013, 00:08 am
por cierto lo de NxN es solo para letras
Lo de NxN es solo si tienes 2 posibilidades que se pueden repetir (si no se pueden repetir serían Nx(N-1)).


Título: Re: necesito orientacion en este tipo de programa...
Publicado por: X3R4CK3R en 11 Julio 2013, 03:40 am
Si lo que quieres es un algoritmo que te genere las combinaciones, hice uno hace unos 4 años: http://foro.elhacker.net/programacion_cc/c_aplicacion_similar_a_zip_recovery_password-t247298.0.html
Es muy básico, simplemente eso, el algoritmo principal

Saludos