Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-06-2010
dextervc dextervc is offline
No confirmado
 
Registrado: jun 2010
Posts: 1
Poder: 0
dextervc Va por buen camino
Duda en trabajo con arreglos

Hola a todos tengo el siguiente problema

Tengo un arreglo dinamico de este tipo

Type
AMatriz = array of array od Extended;

el problema es que cuando le doy asignar la dimension de la matriz utilizo

SetLength()

Pero cuando es una cantidad muy grande me da un error de memoria por ejemplo con
Var
A:AMatriz;
Begin
SetLength(A,10000,10000);

como puedo solucionar este error de memoria. si alguien conoce como puedo trabajar con arreglos muy grandes.

Gracias de atemanos saludos Dexter
Responder Con Cita
  #2  
Antiguo 15-06-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero, ¡eso es 1Gb de memoria! Si te marca error, tendrás que aumentar la memoria de tu computadora.

// Saludos
Responder Con Cita
  #3  
Antiguo 15-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por dextervc Ver Mensaje
[..]SetLength(A,10000,10000);

como puedo solucionar este error de memoria. si alguien conoce como puedo trabajar con arreglos muy grandes. [..]
10.000x10.000 = 100.000.000 bytes
100.000.000 bytes / 1024 = 97.656 KBytes
97.658 KBytes / 1024 = 95.3 Mbytes

Si no me he confundido, son casi 100 Mbytes

Un extended tiene 10 bits, por lo tanto, lo que ha dicho roman, 1 Giga

Última edición por Casimiro Notevi fecha: 15-06-2010 a las 21:01:13. Razón: Edito: equivoqué el cálculo :)
Responder Con Cita
  #4  
Antiguo 16-06-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Un pequeño [off-topic]:

Cuidado con los false friends: que una palabra castellana (o española) se escriba de forma parecida a la palabra inglesa (o cualquier otro idioma) no implica que signifiquen lo mismo; esto ocurre incluso cuando ambos idiomas tienen la misma raíz (por ejemplo, el francés "Bizarre" [extraño, raro] y el castellano "Bizarro" [valiente, entregado]).

En el caso que nos atañe (y mal que me pese, por una vez coincido con la RAE):
Cita:
Empezado por Real Academia de la Lengua Española
arreglo.

1. m. Acción y efecto de arreglar.

2. m. Regla, orden, coordinación.

3. m. Avenencia, conciliación.

4. m. Transformación de una obra musical para poder interpretarla con instrumentos o voces distintos a los originales.

5. m. coloq. amancebamiento.

~ de cuentas.

1. m. Acto de tomarse la justicia por su mano o vengarse.

~ parroquial.

1. m. Reforma de las categorías y demarcaciones de las parroquias de una diócesis.

con ~ a.

1. loc. prepos. Conformemente con, según.
Ergo "Arreglo" no es correcto ni por casualidad.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 16-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Ñuño Martínez Ver Mensaje
[..] Ergo "Arreglo" no es correcto ni por casualidad.
Sí, me resulta extrañísimo ver palabras como: arreglo, forma, grilla, etc.
Responder Con Cita
  #6  
Antiguo 16-06-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Es perfectamente válido, al igual que lo es para un arreglo de flores. Se trata de una disposición, una forma de ordenar, un conjunto de números. No porque se parezca al vocablo array.

// Saludos
Responder Con Cita
  #7  
Antiguo 16-06-2010
gonzalo_enero gonzalo_enero is offline
Registrado
 
Registrado: jun 2010
Ubicación: En mi Cuarto :-)
Posts: 9
Poder: 0
gonzalo_enero Va por buen camino
Que entiendes por dinámico ?

Para empezar dices que quieres que sea dinámico pero pones una dimensión exacta :-? ......
Si quieres que sea dinámica no pongas una dimensión (Create un dato y un puntero a NULL inicialmente), solicita un espacio de memoria, de esa manera sabras que podes almacenar un elemento mas....
Como tu caso es una Matriz... solicita si te puede dar un espacio como para una fila entera :-) y asi según lo necesites ....


Prefiero que me expliques mas detenidamente que es lo que quieres hacer porque porque asi te podre ayudar con un poco de código para tus Nodos y tu clase :-D
Responder Con Cita
  #8  
Antiguo 16-06-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por gonzalo_enero Ver Mensaje
Para empezar dices que quieres que sea dinámico pero pones una dimensión exacta :-? ......
Si quieres que sea dinámica no pongas una dimensión (Create un dato y un puntero a NULL inicialmente), solicita un espacio de memoria, de esa manera sabras que podes almacenar un elemento mas....
Como tu caso es una Matriz... solicita si te puede dar un espacio como para una fila entera :-) y asi según lo necesites ....


Prefiero que me expliques mas detenidamente que es lo que quieres hacer porque porque asi te podre ayudar con un poco de código para tus Nodos y tu clase :-D
Creo que lo que está hablando el amigo dextervc es de cómo trabajar con "matrices dinámicas multidimensionales" y no "lista dinámicas" para las cuales efectivamente se suele usar punteros dentro de una estructrura de dato llamada Nodo, pero en éste caso se esta trabajando con Matrices dinámicas multidimensionales".
Para mas detalles ver la ayuda de Delphi buscando en el indice "Multidimensional dynamic arrays".
Saludos ...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejo de arreglos num11 Varios 2 08-04-2009 00:05:37
Duda sobre trabajo con bash shell script Suriu Linux 1 13-03-2008 16:09:06
Duda con Trabajo en el foro Robert01 Varios 5 29-05-2006 19:23:29
Arreglos Dinamicos diniremix Varios 3 23-05-2006 19:48:31
Arreglos Lobo Varios 3 19-09-2003 00:09:19


La franja horaria es GMT +2. Ahora son las 22:59:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi