[Delphi] complexité

Fermé
olivier - 26 nov. 2003 à 16:26
 ali - 2 mai 2005 à 19:18
Bonjour,
Je souhaitai savoir quelle talle maximale de tableau accepte DELPHI mon tableau ferait 70000*140000 est possible?

Merci de vos réponses
Bonne fin de journée

Olivier

9 réponses

Et ben dis donc c'est un grand tableau !!!! C'est pour quoi faire????
Sinon les listes chainées...
A+
0
Nettogrof Messages postés 521 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 décembre 2005 672
26 nov. 2003 à 17:42
Je connais pas Delphi, mais avec un tableau grand comme ca, c'est sûr que tu va avoir un problème de mémoire.

Car même si chaque "cellule" de ton tableau prend un seul bit, il te faudrait une mémoire de 9Go !!!

Alors c'est pour faire quoi ton tableau, car il a sûrement d'autre solution. Peut-être un sytème de base de donnée?

Espérant pouvoir t'aider

Nettogrof tseb era seiromem emoS
0
Merci déja de vs réponses et de votre interet,

En fait j'ai un probleme d'optimisation avec 70000 contraintes et 450000 inconnues à résoudre et donc à programmer. J'ai pensé à l'algorithme du simplexe car ce ne sont que des contraintes linéaires. Mais pour que cet algorithme tourne il faudrait que je cree un tableau de la taille que j'ai mentionné plus haut.
Si vous avez d'autres solutions pour résoudre mon problème ou d'autres methodes je suis preneur.

Merci d'avance
Olivier
0
Utilisateur anonyme
27 nov. 2003 à 19:22
généralement dans ces cas la, tu dois utiliser simultanément les
variables dynamiques et les fichiers (voir que le task est limité, par contre un disque de 40go fairait l'affaire)..

* Cette solution est valable dans le cas où tu traites ton tableau partiellement (exemple 5000 éléments à chaque itération).

- utiliser un tableau dynamique, sous la forme d'un buffer, d'une taille bien déterminée et en utilisant la notion des fichiers (que se soit structurés ou non) :

1- créer un tableau par la commande New (le constructor)

2- charger les valeurs initiales de ton tableau à partir d'un fichier bien déterminé (le chargeur)

3- traiter les données (partie traitement)...

4- sauvegarder les résultats dans un autres fichier tout en sauvegardant son nom pour une prochaine utilisation (itération)

5- déteruire ton tableau par la comande dispose/free/.. (le destructor) et recommencer la phase une.

bonne chance..

[ Ton Doux Visage. ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Car même si chaque "cellule" de ton tableau prend un seul bit, il te faudrait une mémoire de 9Go !!!
Sinon tu mets des machines en parralleles :)

Olivier: Tu es sur qu'il n'y a pas d'autres solutions???
a+
0
Sinon olivier t'es a quel niveau d'etudes? (curiosité)
0
bac+5 (je sors d'une incole d'ingé je suis en stage en entreprise là)

merci pour vos conseils
je vais voir ce que je peux faire et si il ya pas mieux (j'ai pensé à un algorithme des points interieurs)
si vous avez d'autres idees je suis preneur
bonne journée
0
PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
29 nov. 2003 à 00:26
Bsr,

Hé bien j'ignore ce que tu comptes stocker dans ton tableau (des éléments de même stucture qd même non ?) mais sous Delphi 7 les seules classes que je vois capables de gérer des fichiers de plusieurs Go (et encore je n'ai jamais essayé avec des fichiers de cette taille) sont les TFileStream ... Mais tu devras qd même passer par un ou plusieurs buffers pour accèder à tes éléments.

@+


PhP    [Push the button,Don't push the
.         button,Trip the station,Change the channel]
0
en fait j'ai un probleme d'algorithme du simplexe ;en effet le probleme est resolu par le solveur excel mais comme je suis developpeur windev on m'a demander de programmer ce probleme tout en creant une application independante en attendant une reponse de votre part merci d'avance
0