Esercizio 1
[L'esercizio deve essere risolto e consegnato entro il giorno 23/01/2004]
Implementare la classe Matrice con i seguenti metodi:
- public Matrice(int n): costruttore di una matrice quadrata n x n, es.
risultato per n = 3:
la matrice deve essere inizializzata, con un valore convenzionale, per esempio 0;
- public void leggiMatrice(): metodo che legge da input gli elementi (numeri
interi) della Matrice;
- 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
;
- 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);
- 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;
- 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:
si deve ottenere la matrice:
- public void somma(Matrice a, Matrice b): la matrice a cui è applicato
diventa la somma delle matrici a e b
- 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