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 :

Recherche d'occurrence


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2003
    Messages : 13
    Par défaut Recherche d'occurrence
    Bonjour,

    Je suis débutant en C++ et je doit remettre un travail qui demande de rechercher les occurrences d'une lettre dans un mot de plus de dix lettres et de les remplacer par la lettre majuscule.

    Voici mon code de recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    cout<<"\n\nQuelle lettre desirez-vous rechercher ? : ";
       cin>>lettre;
     
          int occu = mot.find(lettre,0);
          while(occu < mot.size()){
          mot.replace(occu,1,"X");
          occu = mot.find(lettre,occu);   }
    Est-ce une façon correcte ?

    Aussi, à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mot.replace(occu,1,"X");
    le "X" est là par défaur car je ne parvient pas à inclure une fonction qui remplacerais lettre par sa majuscule et qui ne plante pas à l'exécussion.

    J'ai essayé strupr(lettre) mais si je comprend bien il y a un problème de conversion de type ; lettre étant une string.

    Je viens de lire la FAQ et dites moi s.v.p. si transform ferait l'affaire.

    Merci.

    Roger

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Attentino au "X" dans ton code, ne serait-ce pas plutôt 'X' (char et non string) ?
    transform modifierait toute ta chaine donc c'est pas bon. Il te faudrait un transform_if, qui n'existe pas à ma connaissance.
    Tu peux utiliser transform ou mieux for_each avec ton propre foncteur qui teste le caractère à modifier et le modifie ou non (cf FAQ pour faire son foncteur)

  3. #3
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    transform_if n'existe effectivement pas, mais sa mise en oeuvre est assez "simple" et classique.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. Rechercher une occurrence
    Par dave.bonnin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2011, 09h49
  2. Recherche d'occurrence dans un vecteur
    Par kmaniche dans le forum MATLAB
    Réponses: 3
    Dernier message: 09/01/2011, 15h41
  3. [XL-2000] Rechercher une occurrence avec 2 éléments distincts
    Par cobra38 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 24/05/2010, 16h45
  4. Réponses: 11
    Dernier message: 26/09/2009, 11h33
  5. Programme simple de recherche d'occurrences
    Par salamalas dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 02/01/2009, 23h11

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