allocazione dinamica di una matrice c++ code example

Example: 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;
}

Tags:

Cpp Example