#include <iostream>
#include <iomanip>
using namespace std;
void inicializar_matriz(int **p, int filas, int columnas);
void mostrar_matriz(int **p, int filas, int columnas);
int main() {
int fil = 0, col = 0;
srand(time(nullptr));
cout<<"filas\t\t: ";
cin >>fil;
cout<<"columnas\t: ";
cin >>col;
int** matriz = new int*[fil]; // asignando espacio para el arreglo de direccines
for(int j=0; j<fil; ++j)
matriz[j] = new int[col]; // asignando espacio para cada fila e inicializando el arreglo de direcciones
inicializar_matriz(matriz, fil, col);
mostrar_matriz(matriz, fil, col);
for(int j=0; j<fil; ++j) {
delete[] matriz[j]; // liberando espacio asignado para cada fila
matriz[j] = nullptr;
}
delete[] matriz; // liberando espacio asignado para la matriz de direcciones
matriz = nullptr;
}
void inicializar_matriz(int **p, int filas, int columnas) {
for(int j=0; j<filas; ++j)
for(int k=0; k<columnas; ++k)
p[j][k] = rand()%21;
}
void mostrar_matriz(int **p, int filas, int columnas) {
for(int j=0; j<filas; ++j) {
cout<<"Notas de estudiante "<<j<<":";
for(int k=0; k<columnas; ++k)
cout<<setw(4)<<p[j][k];
cout<<endl;
}
}