Hola, estoy algo desesperado con este problema.
Tengo un programa que calcula las combinaciones de los elementos de una lista. Pero quiero adaptarlo a que en lugar de una lista sea un array que contiene los elementos.
Este es el código, y las líneas en rojo es la lista, y yo necesito eso cambiarlo a lo mismo pero en array
Código:
double a[]=new double[tam];//declaramos nuestro arreglo y tamaño
//tam en este caso será 4.
for(int m=1;m<=tam;m++){// por lo tanto haremos 4 veces
double n=1;
double r=1;
double aux1=1;
for(int i=1;i<=tam;n*=i,i++);//factorial de n que será el número de elementos.
int aux=(tam-m);//restamos el tamaño menos el numero de elementos en el grupo
for(int i=1;i<=aux;aux1*=i,i++);//factorial de aux1, que es la resta anterior
for(int i=1;i<=m;r*=i,i++);//factorial del número de elementos por grupo
a[m-1]=n/(aux1*r);//formula para obtener número de combinaciones posibles y lo guardamos en un arreglo.
}
/* Aqui ya se tienen el numero de combianciones de cada grupo */
int x=1;
while(iter.hasNext()){//esto es por que yo tengo mis elementos en una lista y utilice un iterator para ir recorriendo toda la lista.
for(int i=0;i<a.length;i++){ //recorreremos el arreglo donde guardamos los valores de las combinaciones por cada grupo.
for(int j=1;j<=a[i];j++){//el numero de elementos a mostrar mientras no pasemos el limite
for(int k=1;k<=x;k++){//para imprimirlos en grupos
System.out.print(iter.next());//imprimimos
}System.out.println();//salto de línea y cambio de grupo
}x++;
}
}//end while
Porfavor, echarme una mano