Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/03/2004, 13:28
webpedaler
 
Fecha de Ingreso: mayo-2001
Mensajes: 87
Antigüedad: 22 años, 11 meses
Puntos: 0
Cita:
Mensaje Original por josemi
Hola,

Bueno, para 2 es relativamente sencillo. Solo tienes que coger los elementos de 1 a n-1, y emparejarlo con los elemento de i+1 a n, siendo n el numero total de elementos, e i el elemento en curso.

Como estamos en PHP, aqui va el codigo en dicho lenguaje:
Código PHP:
$a=array('a','b','c','d');
$n=count($a);
for(
$i=0;$i<($n-1);$i++) {
  for(
$j=($i+1);$j<$n;$j++) {
    echo 
$a[$i].' - '.$a[$j].'<br>';
  }

si no tengo oxidado el cerebro.

Para 3 supongo que sera añadir un nivel mas de anidamiento.

Por supuesto, ya habra un algoritmo generico para r elementos. Intenta buscar 'algoritmo combinatoria' o 'metodos numericos combinatoria' en google.

Saludos.

PD: Si no lo querias en PHP, lo dices y muevo el mensaje al foro de programacion.
mmmm es justo lo que busco , un algoritmo que me sirva para N Y R, en tu ejemplo N estaria siendo los elementos del array y r seria el problema ,debido a los anidamientos , por ahi va la cosa si pillo algo lo posteo.
lo màs chistoso es que despues de pintar esas combinaciones , debo de hacer grupos de a 4 sin que se repitan los elementos de esos conjuntos.

osea tomando el jemplo anterior donde n=4 y r= 2

{a,b}, {a,c}, {a,d}, {b,c}, {b,d}, {c,d}.

debo de hacer esto :
{a,d}, {b,c}

{a,c}, {b,d}

{a,b}, {c,d}

en este caso solo se pueden formar grupos de a 2 sin que se repitan los elementos .

muajaja me quiero morir jajaja
quien dijo que las matematicas no servian?