Video appunto: Allocazione dinamica matrice - Esercizio
Allocazione dinamica matrice - Esercizio


Scrivi una funzione C/C++ che crea e restituisce una matrice triangolare di interi i cui elementi hanno valori 1, 2, 3, ... . Naturalmente, la matrice deve essere allocata dinamicamente e non bisogna usare più memoria di quella strettamente necessaria.

Ad esempio se l’ordine (della matrice) è 5 la funzione deve creare la matrice:
1 2 3 4 5
6 7 8 9
10 11 12
13 14
15
Scrivi l’istruzione di chiamata e definisci tutte le variabili necessarie.
Definizione (codifica) della funzione:
int **matriceTriang(int ordine)
{
int **m = (int **) malloc(ordine*sizeof(int *)); //Alloca il vettore delle righe
int r, c, numCol = ordine, k = 1;
for (r = 0 ; r {
m[r] = (int *) malloc(numCol*sizeof(int)); //Alloca la riga r-esima
for (c = 0 ; c {
m[r][c] = k;
k++;
}
numCol--;
}
return m;
}
int ** matrix;
int ordine;
matrix = matriceTriang(ordine);