Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Combinatoria series no repetidas

Estas en el tema de Combinatoria series no repetidas en el foro de C/C++ en Foros del Web. Buenos días a todos, Tengo una duda que espero puedan ayudarme a resolver. Necesito generar todas las combinaciones posibles entre el 1 y el 20 ...
  #1 (permalink)  
Antiguo 05/08/2012, 00:09
 
Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 11 años, 11 meses
Puntos: 0
Combinatoria series no repetidas

Buenos días a todos,

Tengo una duda que espero puedan ayudarme a resolver.

Necesito generar todas las combinaciones posibles entre el 1 y el 20 en series de 5 números y que no se repitan las series.

Ejemplo:

1,2,3,4,5
1,2,3,4,6
1,2,3,4,7
1,2,3,4,8

Asi hasta generar todas las combinaciones posibles entre el 1 y el 20. Si disponen de un codigo que pueda manejar para realizar esta acción se lo agradecería.

Gracias por anticipado
  #2 (permalink)  
Antiguo 05/08/2012, 12:57
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Combinatoria series no repetidas

Hola.

Proba de este modo:
Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. #define NOM_ARCH "C:\\SERIES.TXT"
  4. #define MAX_ELEM 20
  5.  
  6. int main(int argc, char* argv[]){
  7. FILE *fp;
  8. int a,b,c,d,e;
  9.   if((fp=fopen(NOM_ARCH, "wt")) == NULL) {
  10.     fprintf(stderr, "Error creando archivo");
  11.     return 1;
  12.   }
  13.   for (a = 1; a <= MAX_ELEM; a++)
  14.     for (b = 1; b <= MAX_ELEM; b++)
  15.       for (c = 1; c <= MAX_ELEM; c++)
  16.         for (d = 1; d <= MAX_ELEM; d++)
  17.           for (e = 1; e <= MAX_ELEM; e++)
  18.             if (a!=b && a!=c && a!=c && a!=d && a!=e &&
  19.                 b!=c && b!=d && b!=e && c!=d && c!=e && d!=e)
  20.               fprintf(fp, "%3d %3d %3d %3d %3d\n", a, b, c, d, e);
  21.  
  22.    fclose(fp);
  23.   return 0;
  24. }
Dado lo extenso del resultado genero las series en un archivo de texto.

Saludos.

Etiquetas: repetidas, series
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:47.