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 :

probleme recherche s�quentiel


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    242
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par d�faut probleme recherche s�quentiel
    Bonjour,

    je dois faire un ptit programme qui recherche des mots pass� en parametre dans l'entr�e standard.

    exemple :

    appel du prog : ./prog salut toi < test
    dans test :
    salut
    toi
    salut ca va et toi

    le prog dois m'afficher :
    salut
    toi
    salut ca va et toi

    les lignes a affciher doivent juste contenir les chaines cherch�s

    voici une partie de mon code actuel

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef vector<string>::iterator VIIt;
     
    int main(...)
    ...
    VIIt pos3 = v.begin();
     while(v.end() != (pos3 = std::find_first_of(pos3,v.end(),s,s + sizeof(s)/sizeof(*s)))){
                   cout << *pos3 << endl;
                    ++pos3;
     }
    s est un tableau qui contient les mots pass�s en parametre

    mais ca ne marche pas... j'ai un peu de mal avec les algos de recherche.

  2. #2
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <string>
    #include <algorithm>
    #include <iostream>
     
    int main(int argc, char* argv[])
    {
        std::string line;
        while(std::getline(std::cin, line))
        {
            if(std::find_first_of(line.begin(), line.end(), argv+1, argv+argc) != line.end())
                std::cout << line << std::endl;
        }
    }
    Il s'agit d'un "ou".
    Je me serais plut�t attendu � un "et".

  3. #3
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    242
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par d�faut
    Citation Envoy� par loufoque
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <string>
    #include <algorithm>
    #include <iostream>
     
    int main(int argc, char* argv[])
    {
        std::string line;
        while(std::getline(std::cin, line))
        {
            if(std::find_first_of(line.begin(), line.end(), argv+1, argv+argc) != line.end())
                std::cout << line << std::endl;
        }
    }
    Il s'agit d'un "ou".
    Je me serais plut�t attendu � un "et".
    Merci,Je ne pourrais tester que ce soir.

    J'ai mis comme titre recherche sequentiel car en faite je dois aussi faire un cas ou on doit rechercher dans l'entr�e standard si on trouve "Exactement" la chaine pass� en parametre

    Exemple:
    ./mon prog salut toi < test m'affiche
    salut
    toi

  4. #4
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    Ben justement, ce n'est pas "exactement".

  5. #5
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    242
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par d�faut
    en faite d�sol� mais j'avais pas bien compris le sujet du truc , faut dire que c'est pas tres bien expliqu�.

    je met un exemple ca sera plus simple:

    ./mon prog we look < demo

    fichier demo:
    ligne 1 blla bla bla we bla bla
    ligne 2 bla bla bla lba
    ligne 3 bla bla we
    ligne 4 bla bla look
    ligne 5 bla bla look
    ligne 6 bla bla we
    ligne 7 bfdb look

    et ca doit afficher les lignes 3,4,6 et 7. Il faut que si on trouve we dans une premiere ligne si la ligne d'apres contient look alors on affiche
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    VIIt pos3 = v.begin();
    while(v.end() != (pos3 = std::find_first_of(pos3,v.end(),argv+1,argv +argc,contains))){
         cout << *pos3 << endl;
         ++pos3;
    }
    mais la ca m'affiche toutes les lignes qui contiennent soit we soit look...

  6. #6
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    242
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par d�faut
    bon ba j'ai trouv� pour ceux que ca interesserai ,faut utiliser la fonction search.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 54
    Dernier message: 09/03/2013, 15h27
  2. probleme recherche dans base de donn�e
    Par 0kiss0 dans le forum ASP
    R�ponses: 3
    Dernier message: 16/04/2007, 18h50
  3. Aide sur la recherche s�quentielle
    Par beegees dans le forum Langage
    R�ponses: 6
    Dernier message: 21/01/2007, 17h16
  4. probleme : recherche dichotomique
    Par M.a.n.u. dans le forum C
    R�ponses: 3
    Dernier message: 17/06/2006, 23h30
  5. Souvent j'ai le probleme (recherche de carractere...)
    Par GESCOM2000 dans le forum Access
    R�ponses: 7
    Dernier message: 21/01/2006, 20h13

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