Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2008, 08:18
mireis
 
Fecha de Ingreso: septiembre-2008
Mensajes: 22
Antigüedad: 15 años, 8 meses
Puntos: 0
dimension de array o puntero

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.