come allocare dinamicamente una matrice c++
#include <iostream>
using namespace std;
int main()
{
int hh;
int x; //usiamo solo x poiche la matrice è quadrata
int dim_riga, dim_colonna;
int **MATRICE; // inizializazione del puntatatore (doppio star poichè è un array bidimensionale)
cout << "Definire la dimensione della matrice ";
cin >> x;
cout << endl;
// Allocazione dinamica della matrice
MATRICE = new int*[x]; //alloca lo spazio per x puntatori
for(dim_riga=0; dim_riga<x; dim_riga++) //per ogni riga
MATRICE[dim_riga] = new int[x]; //assegna ai puntatori delle righe della matrice l'indirizzo di x
// Riempimento matrice
for (dim_riga = 0; dim_riga < x; dim_riga++)
{
for (dim_colonna = 0; dim_colonna < x; dim_colonna++)
{
cout <<"inserisci il valore da asseganre alla riga: " <<dim_riga <<" e alla colonna: " <<dim_colonna <<" --> ";
cin >> MATRICE [dim_riga] [dim_colonna];
}
}
cout << endl;
//lettura
cout<<"la tua matrice e': " <<endl;
for (dim_riga = 0; dim_riga < x; dim_riga++)
{
for (dim_colonna = 0; dim_colonna < x; dim_colonna++)
{
cout <<" " <<MATRICE[dim_riga][dim_colonna];
}
cout <<endl;
}
cout <<"inserire la colonna da eliminare: ";
cin >>hh;
for (int i=0; i<x; i++){
delete MATRICE [i][hh];
}
//lettura
cout<<"la tua matrice e': " <<endl;
for (dim_riga = 0; dim_riga < x; dim_riga++)
{
for (dim_colonna = 0; dim_colonna < x; dim_colonna++)
{
cout <<" " <<MATRICE[dim_riga][dim_colonna];
}
cout <<endl;
}
return 0;
}