IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

lecture d'un fichier .txt et retourner un tableau et une variable


Sujet :

Langage C++

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2011
    Messages : 1
    Points : 2
    Points
    2
    Par défaut lecture d'un fichier .txt et retourner un tableau et une variable
    Bonjour

    bon voilà j'ai plus le temps, je dois terminer mon travail de PFE et j'ai rencontré un problème qui ne peux être fixé que en programmant un petit programme avec n'importe quel language bon a priori ca sera C/C++/VB ou JAVA
    l'idée c'est que j'ai un fichier .ptr je l'ai converti en un fichier .txt pour la facilitation de sa manipulation,
    ce fichier contient 512700 ligne ou plus
    il y a des lignes qui se répéte
    mon travail c'est de faire un programme qui fait le parcours du fichier
    ensuite faire sortir tout les ligne pures et les mettre dans un tableau
    en utilisant une varibale (P par exemple qui va contenir le nombre des ligne répétés)
    c a d que a chaque fois quon trouve une ligne on la met dans le tableau mais lorsqu'on la trouve encore une fois on la met pas dans le tableau et p<---p+1

    j'ai vraiment plus le temps,je dois faire ca dans les 4 jours qui viennent,je suis pas doués en programmation
    svp si vous pouvez me donner quelques code ou procédure ou fonction qui vont m'aider a faire cela

    la forme de la ligne dans le fichier est comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    802.11 BTX  1300 2430 DATA  <0 0> <3 0 0> 3 70 0 NONE  13
    je ne sais pas si je dois convertir toute la chaine et la mettre sous la méme forme

    Merci

  2. #2
    Membre averti
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Points : 307
    Points
    307
    Par défaut
    Si ce que j'ai pu comprendre de ton énoncé (*) est juste, alors en utilisant :

    ifstream, getline, map

    puis ofstream ça devrait s'écrire en moins de 10 lignes de code.

    peut être que la taille de fichier peut te poser un problème...



    (*) Une ligne pure ?

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Bonjour,
    En java (je sais que c'est un forum C++, mais il souhaitait une solution en java au besoin, et mon C++ remonte deja a 2 ans )


    Attention cependant :
    1) ce n'est pas forcement une solution optimisées &| élégante. (manque d’expérience)
    2) aucune idée de la résistance à la volumétrie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    public static void main(String[] args) {
     
    		//la hashmap qui contient les lignes uniques avec leur nombre d'apparition
    		HashMap<String, Integer> resultat = new HashMap<String, Integer>();
    		//on va essayer de lire le fichier
    		try{
    			//on crée le fichier. => ne pas oublier de changer l'url
    			InputStream ips=new FileInputStream("Z:/aze.TXT"); 
    			InputStreamReader ipsr=new InputStreamReader(ips);
    			BufferedReader br=new BufferedReader(ipsr);
     
     
    			String ligne;
    			Integer nb ;
    			//pour chaque ligne 
    			while ((ligne=br.readLine())!=null){
    				//on regarde si la map contient la ligne
    				nb = resultat.get(ligne);
    				//si elle ne la contient pas
    				if(nb == null){
    					//on ajoute la valeur dans la map
    					resultat.put(ligne,1);
    				}else{
    					//sinon on incremente de 1
    					resultat.put(ligne, nb+1);
    				}
    			}
    			//on ferme le fichier
    			br.close(); 
    		}		
     
    		catch (Exception e){
    			e.printStackTrace();
    		}
    	}
    Cordialement,
    Sayn

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/09/2007, 17h29
  2. Lecture depuis un fichiers txt
    Par mask91 dans le forum C++
    Réponses: 15
    Dernier message: 04/03/2007, 22h40
  3. Réponses: 4
    Dernier message: 13/11/2006, 22h30
  4. Lecture et ecriture fichier txt
    Par jeanmy dans le forum Delphi
    Réponses: 12
    Dernier message: 07/08/2006, 17h23
  5. [debutant] lecture d'un fichier txt de 10mo
    Par karamazov994 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 19/04/2005, 15h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo