C/Visual C - DUDAS DE COMO CREAR UN ARRAY ILIMITADO

 
Vista:

DUDAS DE COMO CREAR UN ARRAY ILIMITADO

Publicado por Luis (6 intervenciones) el 10/02/2003 20:01:01
Tengo una duda de como crear una matriz con un nº indeterminado de elementos. He probado con new, no se si ire bien encaminado ya que no me funciona.... He creado el programa de la siguiente manera:
void main(){
int n;
cout<<"Cuantas palabras quieres meter ";
cin>>n;
cout<<"Con cuantas letras";
cin>>x;
char *v=new char[n][x]; //Constant expression requiered
//Cannot convert 'char[1]*' to char*'
for(int c=0;c>=0;c++) cin>>v[c];
for(c=n-1;c>=0;c--) cout<<v[c]<<endl;
delete[]v;
}
Agradeceria que me echaseis una mano.
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DUDAS DE COMO CREAR UN ARRAY ILIMITADO

Publicado por Googol (255 intervenciones) el 11/02/2003 01:42:50
Hola!

En C/C++ es posible pedir memoria para arrays, pero unidimensionales. Es decir, no puedes hacer un new con dos dimensiones, como intentas tú.
La solución sería pedir memoria para un array de punteros, y luego para cada elemento, pedir memoria para otro array:

char* palabras;

palabras = new char*[num_palabras];

for (int c = 0; c < num_palabras; c++)
palabras[c] = new char[num_letras];

Luego puedes seguir accediendo mediante
palabras[pal][letra]

Ten cuidado, porque para liberar la memoria tendrás que hacer también dos pasos. Primero el for, y luego la liberación del array de punteros.

Suerte!



Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar