Scrivi il programma MatrixMerger
contenente i metodi utili per combinare tra loro due matrici di interi.
La classe MatrixMerger
deve contenere i metodi seguenti:
public static int getRowWidth(int[][] m, int row)
Ritorna la larghezza (il numero di colonne) della riga row
nella matrice m
. Se la riga specificata è vuota oppure non è valida, ritorna 0
.
public static int getMaxWidth(int[][] a, int[][] b)
Ritorna la dimensione della riga più larga che si otterrebbe combinando ogni riga di a
con la rispettiva riga di b
. Ossia, calcola la somma tra la dimensione di ogni riga della matrice a
con la rispettiva riga della matrice b
e ritorna il valore massimo.
public static int[][] merge(int[][] a, int[][] b)
Ritorna una matrice rettangolare ottenuta combinando le matrici a
e b
. La combinazione avviene concatenando ogni riga di a
con la rispettiva riga di b
. La nuova matrice avrà un numero di righe pari a quello della matrice più alta tra a
e b
ed un numero di colonne pari a quella della riga più larga prodotta dalla concatenazione (larghezza massima di a
e b
). Ad esempio:
1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | ||||||||||
1 | 2 | 3 | 4 | + | 5 | 6 | = | 1 | 2 | 3 | 4 | 5 | 6 | ||||||||
1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 |
Se presenti, le celle in eccesso di ogni riga conterranno il valore 0
, ad esempio:
1 | 1 | 1 | 5 | 5 | 5 | 1 | 1 | 1 | 5 | 5 | 5 | ||||||||
2 | 2 | 2 | + | 6 | 6 | 6 | = | 2 | 2 | 2 | 6 | 6 | 6 | ||||||
3 | 7 | 7 | 7 | 7 | 3 | 7 | 7 | 7 | 7 | 0 | |||||||||
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 |
main
Contiene il codice utile a verificare e dimostrare il buon funzionamento di tutti i metodi che hai scritto.