Hola!
Mi duda es la siguiente:
quiero definir la dimension de una matriz bidimensional (una tabla) segun el numero de filas y columnas que introduzca el usuario. En el ejemplo se trata de multiplicar dos matrices a y b para obtener p.
La primera opcion (array):
int m,n,k,i,j,l;
float h;
cout<<"Ingrese orden de la primera matriz A[mxn]"<<endl;
cout<<"m = "<<endl;
cin>>m;
cout<<"n = "<<endl;
cin>>n;
cout<<"Ingrese orden de la columa de la matriz b["<<n<<"][k]"<<endl;
cout<<"k = "<<endl;
cin>>k;
int a[m][n];
int b[n][k];
int p[m][k];
da error ya que la declaracion de un array exige especificar su longitud como una expresion constante.
La segunda opcion (punteros):
int m,n,k,i,j,l;
float h;
cout<<"Ingrese orden de la primera matriz A[mxn]"<<endl;
cout<<"m = "<<endl;
cin>>m;
cout<<"n = "<<endl;
cin>>n;
cout<<"Ingrese orden de la columa de la matriz b["<<n<<"][k]"<<endl;
cout<<"k = "<<endl;
cin>>k;
int *a=new int [m][n];
int *b=new int [n][k];
int *p=new int [m][k];
me da tambien error puesto que al crear arrays multidimensionales de objetos con new la primera dimension (la de más a la izquierda) es la única que puede ser una variable.
Mi pregunta es: existe alguna forma de poder definir ambas dimensiones segun las especificaciones del usuario?? (creo que una opcion podria ser un doble puntero ** pero no estoy muy segura de como utilizarlo).
Gracias de antemano.