Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
699 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Enregistrement d'un fichier texte dans une procédure récursive

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Enregistrement d'un fichier texte dans une procédure récursive

n°1999273
knart
Posté le 05-06-2010 à 17:35:22  profilanswer
 

Bonjour à tous et déjà merci à ceux qui prendront la peine de me lire.
 
Dans le programme que je fais, j'ai besoin d'une procédure qui permet d'extraire d'un fichier texte (50 millions de lignes) chaque ligne pour la mettre  
 
dans une liste chainée.
 
Pour l'instant j'ai fait une procédure récursive, mais mon problème est là : à chaque tour dans la récursivité il enregistre la première ligne dans
 
la liste chainée. J'ai donc chercher à lire la ligne suivante à chaque tour , mais tous ce que j'ai tenté jusqu'à présent n'a pas fonctionné.  
 
Auriez vous une idée ou une fonction qui me permétrait d'avancer.
 
Voici le programme en question, si cela manque d'info n'hésitez pas à me le faire savoir.
 

Code :
  1. void Extraire_Fichier_txt( dictionnaire &d , int n )
  2. //creer un dictionnaire à partir d'un fichier texte de mots
  3. {
  4. ifstream File("Francais.txt" );
  5. chaine c;
  6. if ( n<(nb_lignes()))
  7. {
  8.  if( !File.fail() )
  9.  {
  10.   File>>c;
  11.   d=new element_dictionnaire;
  12.   d->mot=Transformer_Chaine_En_Mot( c );
  13.   //Transforme chaine de caractère du fichier texte en mot(une autre liste chainée)
  14.   d->suivant=NULL;
  15.   }
  16.  Extraire_Fichier_txt( d->suivant , n+1 );
  17. }
  18. File.close();
  19. }
  20. typedef struct element_dictionnaire * dictionnaire ;
  21. typedef struct element_dictionnaire {
  22.       mot             mot ;
  23.       dictionnaire suivant ;
  24. } element_dictionnaire ;


 
 
Merci d'avance!!

mood
Publicité
Posté le 05-06-2010 à 17:35:22  profilanswer
 

n°1999290
Joel F
Real men use unique_ptr
Posté le 05-06-2010 à 19:10:10  profilanswer
 

std::list pour les listes chainées svp

n°1999298
Un Program​meur
Posté le 05-06-2010 à 20:46:48  profilanswer
 

Tu ouvres un fichier à chaque appel...
 
Je ne suis pas allergique à la récursivité mais son utilisation pour quelque chose d'itératif me choque et quand il est question de 50 millions d'itérations, je suis assez sceptique quant à la possibilité d'arriver au bout si on n'utilise pas une implémentation changeant elle même la récursivité en itération et si on ne code pas de façon à lui permettre de faire cette transformation.  Ce qui exclus d'office quasiment toute variable ayant un destructeur dans la fonction récursive.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1999556
rufo
Pas me confondre avec Lycos!
Posté le 07-06-2010 à 13:33:21  profilanswer
 

Pareil, je trouve très bizarre d'être passé par du récursif là où la logique de l'algo montre clairement que c'est de l'itératif :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2000124
Lightness1​024
Posté le 09-06-2010 à 10:36:38  profilanswer
 

tout à fait.
et en plus 50 millions de lignes, imaginons que l'on ait des lignes de 50 caracteres: > 2.5 Go de RAM
donc si il compile pas en 64 bits ca marchera jamais.


Message édité par Lightness1024 le 09-06-2010 à 10:37:25

---------------
http://projets.6mablog.com/
n°2000156
Deamon
Posté le 09-06-2010 à 11:39:59  profilanswer
 

Et surtout les 50M d'appels de la fonction qui vont se mettre sur la pile ça va être joyeux comme truc !

n°2000176
Lightness1​024
Posté le 09-06-2010 à 12:12:12  profilanswer
 

ca rentre pas. la pile doit faire 1Mo par defaut.


---------------
http://projets.6mablog.com/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Enregistrement d'un fichier texte dans une procédure récursive

 

Sujets relatifs
enregistrement des images dans une JFrame javaTester la présence d'un certain enregistrement
Parseur XML (fichier récupéré à partir d'un web service)problème de création de fichier dll sous 64 bits
tester l'existence d'un fichier et plusMacro Excel: Pivottables: Argument ou Appel de procédure incorrect
Hover sur une image et du texte en même temps 
Plus de sujets relatifs à : Enregistrement d'un fichier texte dans une procédure récursive


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR