+1 voto
por (70 puntos) en Java
Necesito hacer esta estructura con listas o arreglos, donde un nodo puede tener dos padres y este nodo tiene la suma de sus dos padres o de uno.
Tengo problemas en como enlazar las listas, es decir, puedo crear la lista con los nodos pero mi problema es asignarle a un nodo un padre o dos pero estos padres deben estar en otra lista.

2 Respuestas

+1 voto
por (5.4k puntos)
El nodo que almacenes en la lista puede ser un objeto que tenga dos variables privadas con el enlace a los nodos padre (que estén en otra lista) y una variable pública con la suma de los valores.

Una duda, para implementar el triángulo, ¿Cada línea será una lista nueva? ¿No está el triángulo en una lista única?

Saludos.
por (70 puntos)
Hola
gracias por tu respuesta.
Cada linea sera una lista nueva.
Lo que pasa es que soy nuevo en esto.
Y no entiendo mucho de como hacer la referencias y crear las listas para cada linea.
0 votos
por (340 puntos)
Hola yo realice un ejersicio parecido en la uni te dejo mi programa tal vez te pueda ayudar para darte una idea

package triangulopascal;

public class TrianguloPascal {
    public static void main(String[] args) {
        int nfilas = 10;
        int[] a = new int[1];
        for (int i = 1; i <= nfilas; i++) {
            int[] x = new int[i];
            for (int j = 0; j < i; j++) {
                if (j == 0 || j == (i - 1)) {
                    x[j] = 1;
                } else {
                    x[j] = a[j] + a[j - 1];
                }
                System.out.print(x[j] + " ");
            }
            a = x;
            System.out.println();
        }
    }
}
por
Hola bueno pues podrías utilizar este código para seguir como ejemplo


public class PascalTriangle {
    public static void main(String[] args) {
        int rows = 10; //Aquí establecemos número de filas Integer.parseInt(args[0]);
        for(int i =0;i<rows;i++) {

            int number = 1;

            System.out.format("%"+(rows-i)*2+"s","");
            for(int j=0;j<=i;j++) {
                System.out.format("%4d",number);
                number = number * (i - j) / (j + 1);
            }
            System.out.println();
        }
    }
}

Preguntas relacionadas

0 votos
1 respuesta
0 votos
2 respuestas
preguntado por redm23 (200 puntos) Ene 28, 2016 en Java
0 votos
6 respuestas
preguntado por esmeralda (20 puntos) Ene 28, 2016 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...