• Sábado 5 de Octubre de 2024, 22:11

Autor Tema:  Combinaciones De Un Array De Caractares  (Leído 2234 veces)

pyro

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Combinaciones De Un Array De Caractares
« en: Domingo 6 de Junio de 2004, 23:22 »
0
Algo facil pero no estoy pudiendo resolverlo.. como puedo hacer para coseguir todas las combinaciones posibles de un vector de caracteres.. por ejemplo sea el vector a={'A', 'B', 'C'}
las combinaciones.. serian..  ABC, ACB, BAC, BCA, CAB, CBA... ALGO asi.. no se como puedo hacer..
y que le funcion me devuelva tdas la combinaciones.. como hago?? toy perdido  :blink:

pyro

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Combinaciones De Un Array De Caractares
« Respuesta #1 en: Lunes 7 de Junio de 2004, 00:09 »
0
tiene que ser algo asi como
for(i=0; i<MAXVECTOR; i++){
     for(j=0; j<MAXVECTOR; j++){
          if(i!=j){
             aux[j]= vector;
          }  
     }
}

no se me esta viniendo bien la idea a la cabeza..  :unsure:

Noel Solw

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Combinaciones De Un Array De Caractares
« Respuesta #2 en: Lunes 7 de Junio de 2004, 11:30 »
0
Puede ser que quieras las permutaciones de 3 caracteres distintos ?

pyro

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Combinaciones De Un Array De Caractares
« Respuesta #3 en: Lunes 7 de Junio de 2004, 16:57 »
0
En realidad no es solo de tres caracteres distintos.. necesito hacerlo con un array grande, un char array[200]... no es una tarea, ya digo de ante mano, estoy haciendo un trabajo con arboles binarios, y estaba necesitando, ya intente hacerlo pero nome sale :( para ser mas claro.. esto es lo que yo necesito.. si el array={A, B, C, D} la funcion me tendria que pasar...
A B C D
A B D C
A D B C
D A B C
y asi siguiendo.. :(

Noel Solw

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Combinaciones De Un Array De Caractares
« Respuesta #4 en: Lunes 7 de Junio de 2004, 17:23 »
0
Te envio una proposicion de funcion recursiva para las permutaciones de N caracteres distintos :

#define  MAX 4  // modificar de acuerdo a lo necesario

int p[MAX],counter = 0;

void Permutation(int level)
{
   if(level == MAX)
   {
      ShowArray();// impresion segun valores ascii
      return;
   }
   for(int i = 0; i < MAX; i++)
   {
      if(p == -1)
      {
         p = level;
         Permutation(level+1);
         p = -1;
      }
   }
}   // PERMUTATION

llamado desde la funcion principal :

   primero todos los valores p = -1;
   Permutation(0);

pyro

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Combinaciones De Un Array De Caractares
« Respuesta #5 en: Martes 8 de Junio de 2004, 05:34 »
0
Hola!! Muchas gracias :) estuve viendo tu proposicion y le implente algunas cosas para que me haga lo que necesitaba.. ahora mi programita ya esta.. gracias :) :)