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 :

besoin d'aide sur les chaine de caractere


Sujet :

C++

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut besoin d'aide sur les chaine de caractere
    Bonjours;

    Voila je debute en programmation C++ et j'aurai besoin d'un petit coup de main

    J'utilise Dev C++

    j'ai trouvé un exercice sur le web sur les chaine de caractere qui m'a l'aire d'etre assez complet pour les comprendre, cependant, il n'y avait pas de lien pour le corriger et j'ai un peu de mal a quelque endroit

    merci de votre aide

    1) il faut indiquer qu'elle est la premiere par ordre alphabetique
    2)rechercher si le caractere existe et afficher sa position

    cependant, je ne peut pas utiliser les librairies string.h; strlen; strcmp;...

    Voici ce que j'ai deja fait:

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    #include <cstdlib> 
    #include <iostream> 
     
     
    using namespace std; 
     
    int main(int argc, char *argv[]) 
    { 
    char i,j,k, *phrase = new char [20], *phrase2 = new char [20], *phrase3 = new char [20]; 
    cout<<"entre une phrase: "; //on entre une premiere phrase 
    cin>>phrase; 
     
    cout<<"\n"<<"voisi les elements de la phrase: \n"; 
    for(i=0;phrase[i]!='\0'; i++) 
    { 
    cout<<"lettre: "<<phrase[i]<<"\n"; 
    } 
     
     
    cout<<"\n"<<"entrer une deuxieme phrase: "; //on entre une deuxieme phrase 
    cin>>phrase2; 
     
    if(*phrase2 == *phrase) //on compare les deux phrases 
    { 
    for(j=0;phrase[j]!='\0'; j++) 
    { 
    cout<<"lettre: "<<phrase[j]<<"\n"; //si les deux phrases sont identiques, on les affiches 
    } 
    } 
    else 
    { 
    cout<<"\n"<<"la premiere chaine par ordre alphabetique est la chaine: "<< <<endl; //numero 1 
    } 
     
    *phrase3 = *phrase; //on copie la 1er chaine dans la troisieme chaine 
    cout<<"\n"<<"affichage de la troisieme chaine: "<<*phrase3<<endl; //on affiche la premiere chaine 
     
    cout<<"\n"<<"saisir un caractere: "; //on saisie un nouveau caractere 
    cin>>k; 
     
    if(k == *phrase) 
    { 
    /* on recherche si le caractere est présent 
    dans la premiere chaine et on affiche sa premiere position*/ 
    } 
    else 
    { 
    cout<<"erreur \n"; //iln'y a pas le caractere dans la chaine 
    } 
     
    delete phrase; 
    delete phrase2; 
    delete phrase3; 
     
    system("PAUSE"); 
    return EXIT_SUCCESS; 
    }
    Configuration: Windows XP
    Internet Explorer 6.0

  2. #2
    Invité
    Invité(e)
    Par défaut
    Ouh ! là !!

    Pour gérer des chaînes en C++, il est fortement recommandé d'utiliser les std::string de la STL...

    Ajoute la ligne suivante dans ton code :
    ... et va vite voir la FAQ C++ !!

    cependant, je ne peut pas utiliser les librairies string.h; strlen; strcmp;...
    Je note que <string> n'en fait pas partie.

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Bonsoir, soit c'est un cours de C++ et alors si ton exercice porte sur les chaine de caractère il est très mal pensé, et je te conseil de regarder du côté des "string" ( <string> ) comme on te l'a indiqué. Soit c'est un exercice plus porté sur les pointeurs et la ... bon pourquoi pas

    Soit c'est un cours de C et dans ce cas, il y a un forum C juste à côté de celui la

    Enfin, dans ton post tu n'indique pas le problème de ton programme, il compile ? Il plante a l'éxécution ? Il se comporte d'une manière que tu n'avait pas prévu ? Soit un peu plus précis si tu veux qu'on puisse t'aider.
    Bonne chance.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut complément d'info
    Merci à ceux qui m'on aidé, je suis désolé si je n'est pas été très clair.

    Voila, je recommence:

    - Mon programme ne plante pas
    - Il ne fait pas ce que je lui demande:

    au debut je doit rentré une phrase, puis je doit rentré une seconde phrase et testé si elle est identique a la premiere et affiché le résultat.
    Cette fonction ne marche pas car elle ne compare que la premiere lettre

    ensuite si elle ne sont pas identique, je doit indiqué quelle est la premiere par ordre alphabetique: pour moi s'est mission impossible

    et il s'agit a la fois d'un exo sur les pointeur et les chaine de caractere mais je ne peu utilisé les librairie string.h et autre str...

    et comme il n'y a pas le corriger de l'exercice sur le net, s'est la galere pour apprendre

    Merci d'avance

  5. #5
    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
    OK, tu débutes en C++.
    Cet exo, il est personnel? ou il rentre dans le cadre d'un cours de C++ archaique qui supose qu'une chaine de caractères doit se manipuler comme en C?

    * Si personnel, oublies les char* dans un premier temps, et apprend le C++
    * Si prof, <pfff>. => man strcmp ; on utilise pas delete sur new[], ...
    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...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 50
    Par défaut
    L'expression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(*phrase2 == *phrase) //on compare les deux phrases
    ne compare absolument pas les deux phrases, elle compare les pointeurs sur les deux phrases pour voir s'ils sont identiques, or ils ne le sont forcément pas car issu de 2 allocations différentes.

    Pour comparer deux phrases, il faut le faire en vérifier si tous les caractéres qui la compose sont identiques en passant en revu chaque caractére de la 1ere phrase pour les comparer au caractères de même rang de la 2e phrase

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

Discussions similaires

  1. Besoin d'aide sur les fonction d'interbase
    Par BOUBOU81 dans le forum InterBase
    Réponses: 2
    Dernier message: 05/11/2004, 10h00
  2. besoin d'aide sur les ORB
    Par floorfille dans le forum CORBA
    Réponses: 4
    Dernier message: 24/08/2004, 15h43
  3. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  4. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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