//Programa que rellena y muestra una matriz dinámica.
#include<iostream>
#include<cstdlib>//para new y delete
using namespace std;
void pedirDatos();
void mostrarMatriz();
int **pmatriz,nFilas,nCol;
int main(){
pedirDatos();
mostrarMatriz();
//Se libera la memoria utilizada en la matriz.
for(int i=0;i<nFilas;i++){
delete[] pmatriz[i];
}
delete[] pmatriz;
system("pause");
return 0;
}
void pedirDatos(){
cout<<"\nDigite el numero de filas: "; cin>>nFilas;
cout<<"Digite el numero de columnas: "; cin>>nCol;
pmatriz = new int*[nFilas];
//Reservar memoria para las filas de la matriz.
for(int i=0;i<nFilas;i++){
pmatriz[i] = new int[nCol];
//Reservar memoria para las columnas de la matriz.
}
cout<<"\nDigitando los elementos de la matriz: \n";
for(int i=0; i<nFilas; i++){
for(int j=0; j<nCol; j++){
cout<<"Digite un numero["<<i+1<<"]["<<j+1<<"]: ";
cin>>*(*(pmatriz+i)+j);
//guardar en puntero a posiciones [i][j].
}
}
}
void mostrarMatriz() {
cout<<"\n";
for (int i=0; i<nFilas; i++) {
for (int j=0; j<nCol; j++) {
cout<<*(*(pmatriz+i)+j)<<" ";
// Se muestran los elementos guardaddos en la matriz.
}
cout<<"\n";
}
cout<<"\n\n";
}