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 :

Minuscules et recherche de mot


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut Minuscules et recherche de mot
    Bonjour,
    - Existe t'il une commande pour convertir une chaine contenant majuscule et mininuscule directement ?
    il AiME LeS CHIens -> il aime les chiens
    Ou alors une commande qui permet une comparaison sans prendre en compte majuscule et minuscule (si c'est pas le cas par defaut...)

    - Comment faire pour rechercher dans un fichier la ligne qui contient le plus de fois une phrase ?

    le fichier contient 2 lignes :
    toto est malin
    toto est tres malin

    on veut afficher la phrase la plus proche de "il est tres malin" car on trouve 3 mots au lieu de 2 dans l'autre.

    Solution possible => on peut faire une recherche avec un compteur et afficher le plus grand... Mais je sais toujours pas comment rechercher un mot dans une phrase... lol

  2. #2
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Par défaut
    Citation Envoyé par Spike21
    Bonjour,
    - Existe t'il une commande pour convertir une chaine contenant majuscule et mininuscule directement ?
    si cela se fait par le biais de la fonction cctype et isalpha et par tolower ( pour l'inverse :passer des minuscules aux majuscules il faut utiliser toupper
    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
     
    // 
    //converti majuscule en miniscule
    //
    #include <iostream>
    #include <cctype>
     
    using namespace std;
     
    int main() 
    {
            char entree;
     
            while(cin.get(entree))
            {
                    if(isalpha(entree)) cout << (char)tolower(entree);
                    else cout << entree;
            }
            return (0);
    }
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut
    Oué c'est une boucle, ya pas d'autre moyen a s'ke je comprend...

    Si je comprend

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while(cin.get(entree)) // lis lettre par lettre le mot
            {
                    if(isalpha(entree)) cout << (char)tolower(entree); // convertis si alphanumérique
                    else cout << entree; // sinon laisse le charactère comme il est
            }

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    - Existe t'il une commande pour convertir une chaine contenant majuscule et mininuscule directement ?
    il AiME LeS CHIens -> il aime les chiens
    Ou alors une commande qui permet une comparaison sans prendre en compte majuscule et minuscule (si c'est pas le cas par defaut...)
    Il y a dans la FAQ C++ un code qui permet de convertir une chaîne en majuscule ou minuscule. Sans entrer dans les détails le code donné est incomplet voire incorrect, mais pour une utilisation limitée ça peut parfaitement faire l'affaire.

    Pour un moyen de faire des comparaisons sans tenir compte de la casse, tu as une solution sympa qui est de définir un type de chaînes de caractères à partir de std::basic_string et d'un char_traits perso.
    Plus d'infos ici : http://www.gotw.ca/gotw/029.htm

    Mais je sais toujours pas comment rechercher un mot dans une phrase... lol
    Regarde la doc de la classe std::string. La FAQ C++ est un bon point de départ.

  5. #5
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Par défaut
    si c'est mon code qui est incorrect , j'aimerai savoir ou sont les erreures.
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Citation Envoyé par smoove
    si c'est mon code qui est incorrect , j'aimerai savoir ou sont les erreures.
    Je parlais de celui de la FAQ

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

Discussions similaires

  1. Recherche sur mots de 3 lettres
    Par mamizo dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/02/2005, 14h59
  2. [TP]Recherche de mots dans un Doc.
    Par Loceka dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 04/10/2004, 19h04
  3. Recherche des mots contenant ...
    Par Asdorve dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/06/2004, 10h23
  4. Réponses: 10
    Dernier message: 22/05/2004, 13h51
  5. Recherche multi-mots sur une seule colonne
    Par Badiste dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/03/2004, 11h24

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