Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Il triangolo di Tartaglia ????

    Sto cercando di realizzare un metodo il quale mi deve realizzare il triangolo di tartaglia. Concettualmente funzione ma il JDK mi fornisce il seguente errore :

    output:

    1. Prodotto Matrice/Vettore per Matrice/Vettore
    2. Matrice Trasposta
    3. Triangolo di Tartaglia

    0. Nessuna Operazione

    Operazione : 3


    Grado del coefficiente binomiale: 3
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
    at Matrice.Tartaglia(Matrice.java:141)
    at TestVettore.main(TestVettore.java:99)
    ...

    Di seguito riporto il listato del metodo, x pemplicità ho evidenziato la riga incriminata con il commento // ERRORE

    /**
    @param grado, di tipo int, rappresenta il grado del coefficiente binomiale
    @return Matr, che il riferimento ad un double[][] che corrisponde
    alla matrice degli esponenti delle incognite del coefficiente binomiale*/
    public double[][] Tartaglia(int grado){
    int i,j;//indici di riga e colonna

    Matr = new double[grado][]; //numero di righe del triangolo
    for(i=0;i<Matr.length;i++){ //righe
    Matr[i] = new double[i+1];
    for(j=0;j<Matr[i].length;j++){ //colonne
    if((j==0)||(j==(Matr[i].length)-1))
    Matr[i][j]=1;
    else if ((i>0)&&((j>0)||(j<(Matr[i].length)-1)))
    Matr[i][j]= Matr[i-1][j-1]+Matr[i-1][j+1]; //ERRORE !!!
    }//for j
    }//for i

    return Matr;
    }//Tartaglia

    Per completezza, o per chi non se lo ricordasse il triangolo di Tartaglia rappresenta gli esponenti del coefficiente binomiale, questi dovrebbe essere una cosa del genere per n = 4:

    1
    121
    1331
    14641

    Giuseppe SPECCHIO

  2. #2
    Invece di fare il giochino con le somme e romperti le scatole con i bounds check potresti usare, appunto, la formula del coefficiente binomiale:

    ( n k ) = n! / ( k! * ( n - k )! )

    Procedi per n livelli e con k che va da 0 ad n (tramite cicli opportunamente annidati) ed eccoti il triangolo di Tartaglia!

    Ciao.

  3. #3
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    statistica insegna...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.