Esercizio 1

[L'esercizio deve essere risolto e consegnato entro il giorno 23/01/2004]

Implementare la classe Matrice con i seguenti metodi:

  1. public Matrice(int n): costruttore di una matrice quadrata n x n, es. risultato per n = 3:
    0 0 0
    0 0 0
    0 0 0
    la matrice deve essere inizializzata, con un valore convenzionale, per esempio 0;
  2. public void leggiMatrice(): metodo che legge da input gli elementi (numeri interi) della Matrice;
  3. public void stampaMatrice(): metodo per stampare a video un oggetto di classe Matrice.
    N.B. la stampa di una matrice deve visualizzare la medesima rispettando la forma matriciale, ad es. qualcosa del tipo:
    0 0 2
    1 0 2
    0 1 2
    e non cose del tipo: 0 0 2 1 0 2 0 1 2 ;
  4. public int getElem(int i,int j): metodo che restituisce l'elemento di un oggetto Matrice, avente coordinate i, j
    (Nota: i e j sono due numeri compresi tra 0 ed n-1, dove n è la dimensione della matrice, quindi ad es. se
    i=0 e j=1 verrà restituito il secondo elemento della prima riga);
  5. public void setElem(int i, int j, int v): assegna all'elemento di un oggetto di classe Matrice,
    identificato dalle coordinate i, j (leggi nota precedente) il valore v;
  6. public void trasposta(): metodo che trasforma la matrice a cui è applicato nella sua trasposta
    cioè la matrice avente le righe invertite con le colonne, ad es. data la matrice:
    1 2 0
    0 0 1
    0 0 0

    si deve ottenere la matrice:
    1 0 0
    2 0 0
    0 1 0

  7. public void somma(Matrice a, Matrice b): la matrice a cui è applicato diventa la somma delle matrici a e b
  8. public void prodotto(Matrice a, Matrice b): la matrice viene calcolata come il prodotto delle matrici a e b, cioè:
    ogni elemento della matrice risultato sarà dato dalla ∑(k=0, n-1) a[i,k]*b[k,j] dove i e j sono le coordinate dell'elemento
    e n è la dimensione della matrice.

Materiale aggiuntivo:

Condizione necessaria affinché l'esercizio possa essere considerato risolto è che funzioni il programma di test contenuto nel seguente archivio: MatriceTest