• Domingo 22 de Diciembre de 2024, 13:02

Autor Tema:  Cómo Formar Grupos?  (Leído 2041 veces)

patpite

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Cómo Formar Grupos?
« en: Jueves 2 de Diciembre de 2004, 00:14 »
0
Hola a todos, a ver si me podéis echar una manilla con esto...

Tengo un conjunto de M puntos, y tengo que hacer grupos con ellos. Cada grupo va a tener N-M puntos. En total (aplicando úna fórmula combinatoria -M sobre N-) se formarán G grupos.

Sé cuántos grupos se me formarán, pero no sé cómo formar cada uno de esos grupos, es decir: cómo poner los (N-M) puntos en cada grupo.

Os pongo un ejemplo:

Sea N= 1. Tengo M=10 puntos en total. Quiero que cada grupo tenga M-N=10-1=9 puntos. Aplico combinatoria y sé que se formarán (10 sobre 1) = 10 grupos.

Llamamos a los puntos: (1,2,3, ..., 9,10)

Sé que los grupos que se forman son:

G1 = (1,2,3,4,5,6,7,8,9)
G2 = (1,2,3,4,5,6,7,8,10)
G3 = (1,2,3,4,5,6,7,10,9)
G4 = (1,2,3,4,5,6,10,8,9)
G5 = (1,2,3,4,5,10,7,8,9)
G6 = (1,2,3,4,10,6,7,8,9)
G7 = (1,2,3,10,5,6,7,8,9)
G8 = (1,2,10,4,5,6,7,8,9)
G9 = (1,10,3,4,5,6,7,8,9)
G10 = (10,2,3,4,5,6,7,8,9)

Ahora: ¿cómo sería el código que me permitiera crear esos grupos Gi, para el caso general con M y N como datos? (aparte de los puntos, claro)

Os agradecería mucho que me echáseis una manos, porque no doy con la solución.

Gracias.

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Cómo Formar Grupos?
« Respuesta #1 en: Jueves 2 de Diciembre de 2004, 05:12 »
0
podrias poner un ejemplo mas chico, no entiendo lo que quieres,  debe ser el sueño que esta que consume......  :scream:


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

patpite

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Cómo Formar Grupos?
« Respuesta #2 en: Jueves 2 de Diciembre de 2004, 19:36 »
0
Uauhh Serghio... las 5.12 am.. no me extraña que tengas sueño  :rolleyes:

Mira, en otro foro me han puesto esto como posible solución (aún no la he probado):
M = 10
N = 1
F = M - N
S = M

FOR I = 1 TO M
FOR J=1 TO F
IF J = S
G += S
ELSE
G+= J
NEXT J
G = STRING.EMPTY
S = S - 1
NEXT I


Como ejemplo más pequeño... a ver... hum...

- Defino una variable N=1. Tengo M=3 puntos. Quiero hacer grupos con ellos, y que cada grupo tenga (M-N)=2 puntos. El resultado sería:

Puntos: a,b,c.
Grupo1 = (a,B)    
Grupo2 = (a,c)
Grupo3 = (b,c)

Hay una función combinatoria que se escribe algo así como (M N) y que me calcula el número de grupos que saldrían, que en este caso serían 3. Eso lo sé hacer. Lo que no sé hacer es COMO FORMAR los grupitos, cómo asociar los puntos de forma correcta  :blink:

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Cómo Formar Grupos?
« Respuesta #3 en: Viernes 3 de Diciembre de 2004, 01:02 »
0
ya has intenado con arreglos multidimensionales y con for, aunque derepente solo se puede con arreglos dimensionales.....


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

patpite

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Cómo Formar Grupos?
« Respuesta #4 en: Domingo 5 de Diciembre de 2004, 13:20 »
0
No hay forma, Serghio :( Estoy intentándolo con dos bucles for anidados, pero no hay manera. ¡AGH! Necesito ayuda, porque sin ese paso me quedo atascada y no puedo seguir para terminar el proyecto.

¡Por favor! ¡Ayudaaaa!