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

C++ Discussion :

problemes avec chaine de carataires


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par défaut problemes avec chaine de carataires
    bonjour!!
    je viens de créer un programme avec c++ et j'ai trouvé quelques problèmes concernant la lecture d'une chaine de carataire
    bon voici le problème :
    j'aimerai lire une ch.caratère a partir du clavier et après un mot et près compter le nombre d'occurence dans la chaine de cette mots;
    ex : maroc-france-italie-france (ch1) le mot est (france)
    cela va donner 2 fois 'france'.
    ----------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    char *ch1;
    char *ch2="france";
    gets(ch1);
    int k=0;
    j'ai pensé a strtok(ch1 , "-"); et apres une boucle contenant 
    while(ch1 != null)
    {
        while(strstr(ch1,ch2))
             k++;
    }
    cout<<k;
    ----------
    merci pour votre aide

  2. #2
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Tu devrais utiliser ce que t'offres la STL (la classe string, vector, les algorithmes ...). Voilà ton code en utilisant ces algorithmes :

    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
    #include <iostream>
    #include <string>
    #include <algorithm>
     
    int main()
    {
    	std::vector<std::string> chaineDeCaractere;
    	std::string oneString;
     
    	std::cin >> oneString;
    	while (!std::cin.fail())
    	{
    		chaineDeCaractere.push_back (oneString);
    		std::cin >> oneString;
    	}
     
    	std::cout << "Nombre d'occurence du mot France : " << std::count (chaineDeCaractere.begin(),
    		chaineDeCaractere.end(), "France") << std::endl;
     
    	return EXIT_SUCCESS;
    }
    Tu entres tes noms de pays à la suite, séparés par un espace, tu tapes sur Entrer, puis sur Control+Z, et t'auras le nombre d'occurence du mot passé en paramètre de la fonction count.

    Pour utiliser les algorithmes directement sur les string, regarde du côté de boost : http://www.boost.org/doc/html/string_algo.html qui t'offre tout un tas d'algorithmes tout fait pour faciliter le travail

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par défaut merci
    je vous remercie vraiment pour votre aide et c'est vraiment valable votre code merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec chaine de connexion "wpf"
    Par minou_minou dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 15/11/2009, 23h08
  2. [SQL]Probleme avec chaine de caracteres
    Par acheo dans le forum Access
    Réponses: 4
    Dernier message: 31/03/2007, 22h28
  3. probleme avec les chaines de caracteres
    Par snake77350 dans le forum C
    Réponses: 11
    Dernier message: 25/04/2006, 18h29
  4. Probleme avec une chaine de caractere
    Par Jim_Nastiq dans le forum Langage
    Réponses: 2
    Dernier message: 07/04/2006, 09h56
  5. Réponses: 2
    Dernier message: 10/10/2005, 02h25

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