#1 Le 17/02/2007, à 19:34
- no_spleen
[Fortran] vecteur de taille inconnue
Bonjour à tous,
J'aimerai réaliser un programme fortran qui lit des données en colonne dans un fichier pour les mettre dans un vecteur. Le problème c'est qu'on ne connait pas la taille des vecteurs avant d'avoir fini de lire le fichier, alors comment faire pour le déclarer (les vecteurs)?
Si quelqun pouvais me lancer les grandes lignes de code de la solution ce serai gentil!
Bien à vous,
Hors ligne
#2 Le 17/02/2007, à 22:49
- Freddy
Re : [Fortran] vecteur de taille inconnue
(je ne connais pas du tout le Fortran)
Est-ce qu'une solution ne serait pas de lire une fois le fichier en comptant le nombre de composantes nécessaires, puis tu crées ton tableau avec la bonne taille, puis un deuxième passage pour remplir effectivement le tableau ?
There is no system but GNU, and Linux is one of its kernels.
Hors ligne
#3 Le 17/02/2007, à 23:11
- JBF
Re : [Fortran] vecteur de taille inconnue
Bonsoir Freddy,
tu as deux solutions en Fortran :
1/ dimensionner tes tableaux avec des tailles que tu sais, a priori, suffisantes. Cela peut être coùteux si les fichiers à lire peuvent être très grands.
2/ utiliser l'allocation dynamique de mémoire. Pour savoir ce qu'il faut allouer tu peux lire une première fois le fichier mais la lecture de fichier c'est assez long. Tu peux aussi allouer la mémoire par paquet en ajoutant ce qu'il faut quand quand la place manque. Mais comme tu ne peux pas ajouter de la place il faut allouer un autre tableau, transférer puis désallouer le premier.
Je pense que tu dois pouvoir trouver des astuces pour que ton programme puisse avoir une idée de la taille du tableau à partir de la taille du fichier.
JBF
LibreOffice : https://fr.libreoffice.org/ (téléchargement, documentation, FAQ, assistance, contribuer, ...)
Aide pour LibreOffice par la communauté francophone : Ask LibreOffice
Hors ligne