C/Visual C - SE PUEDE REDIMENSIONAR ARREGLOS EN VC++?

 
Vista:

SE PUEDE REDIMENSIONAR ARREGLOS EN VC++?

Publicado por kinomoto (52 intervenciones) el 06/12/2002 17:52:13
PREGUNTA: en VB es posible redimensionar arreglos sin perder el contenido usando la instruccion REDIM PRESERVE, existe la forma de realizar lo mismo en VC++?
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:SE PUEDE REDIMENSIONAR ARREGLOS EN VC++?

Publicado por Alvaro (122 intervenciones) el 06/12/2002 23:30:26
En Vb solo puedes definir arreglos de una forma.
En C lo puedes hacer de varias.
Una es como punteros (VB solo conoce los punteros al llamar a una dll).
Un puntero puede ser redimencionado con realloc(cantidad_de_bytes);
SUERTE...
PD: Con el tiempo veras que VB es mucho mas limitado...
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

RE:REALMENTE SI, PERO.....

Publicado por kinomoto (52 intervenciones) el 07/12/2002 23:44:01
realmete VB tiene sus limitaciones, incluso se puede decir que no es un entorno serio de desarrollo, pero a veces se te complica tanto la vida.... que luego te das cuenta que te puedes ahorrar trabajo llamnado una funcion API en VB, o metiendo un OCX de VB en VC, no lo crees?
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

RE:REALMENTE SI, PERO.....

Publicado por Oliver++ (339 intervenciones) el 09/12/2002 16:21:18
pues VB realmente no redimenciona, lo que realiza al igual que todos los lenguajes es definir otro array con el nuevo tamaño, copiar el contenido del viejo en el nuevo y destruir el viejo. Puedes hacer esto escribiendo una clase array que use los arreglo dinámicamente en memoria. Otra alternativa mucho más poderosa es usar listas enlazadas, te ahorra redimencionar y por ende son extremadamente rápidas. Esto es imposible hacerlo en VB, por eso se dice que es muy limitado.
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

LAS LISTAS FUNCIONAN PERO....

Publicado por kinomoto (52 intervenciones) el 09/12/2002 17:36:43
De acuerdo con las listas y tambien el de crear un puntero a memoria y asignar mas o menos memoria, el problema es cuando se desea un array multidimensional, la opcion de trabajar con bloques de memori funcionan bien si solo se quiere un array unidimensional, pero cuando se quiere matrices (digamos MATRIX (i,j,k) por ejem) el tratarlo incluso con listas enlazadas me parece que tardaria bastante en solo recorrerlo e incluso ubicar una posicion en tal arrglo, QUE OPINAS?
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

RE:LAS LISTAS FUNCIONAN PERO....

Publicado por El Mogur (202 intervenciones) el 10/12/2002 13:36:20
Si tienes un array bidimensional, puedes hacer una lista de listas. Para acceder a la primera dimensión, recorres la primera lista, y para acceder a la segunda, la siguiente. Es decir, no almacenas el array bidimensional 'estirandolo' en una lista, sino con lista de listas. Asi, puedes incluso tener en unas 'filas' un tamaño y en otras otro. Además, el acceso no crece de forma proporcional al tamaño de la primera dimensión, y no se necesita mucho esfuerzo (de hecho ninguno) si quieres hacer más grande esa primera dimensión.

Espero haberme explicado!
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