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 :

Le nombre de caracteres differents entre deux chaines egales


Sujet :

C++

  1. #1
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    Par défaut Le nombre de caracteres differents entre deux chaines egales
    salut!

    comment déterminer le nombre de caracteres differents dans deux chaines de carecteres égales( meme longueur) ! exemple:

    soit a = aabbcc
    et b = abbbcd

    les deux chaines sont egales et la difefrence est egale à 2 caracteres!!

    j'utuilise le namespace string sous visual et j'aimerai bien savoir s'il y aune fonction qui permet ca !!

    merci
    Ce que l'on fait dans sa vie...

  2. #2
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int Difference (char* ch1, char* ch2,int len){//len > longueur de la chaine
        int diff = 0;
        int cpt;
     
        for (cpt=0;cpt<len;cpt++)
          if (ch1[cpt]!=ch2[cpt])
             diff++;
      return (diff);
     }
    http://www.developpez.net/forums/viewtopic.php?t=451530

    EDIT:
    on dis pas: chaine = abcdef mais
    Compil your life guy!
    The Aures Project

  3. #3
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    Par défaut
    et si j'utilise le type string quel serait le moyen rapide pour calculer la longueur des deux chaines ?.
    Ce que l'on fait dans sa vie...

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    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 275
    Points : 10 985
    Points
    10 985
    Par défaut
    std::string::size() (ou length(), c'est pareil).

    PS pour Goundy: préférer le "const char*" en entrée si tu veux pouvoir appeler ta fonction avec des chaines litérales. -> f("toto");
    PPS: string n'est pas un namespace. L'espace de noms c'est std ; string est un alias (façon de parler. Un typedef en fait) vers la classe std::basic_string<char>. Soit un type, et non un espace de noms.
    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...

  5. #5
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    Citation Envoyé par Luc Hermitte
    PS pour Goundy: préférer le "const char*" en entrée si tu veux pouvoir appeler ta fonction avec des chaines litérales. -> f("toto");
    Merçi pour la spécification, j'ai pas fais attention
    Compil your life guy!
    The Aures Project

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Et l'option de Warning qui va avec, pour le compilateur GCC:
    -Wwrite-strings
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    Par défaut
    quel warning j'ai pas compri? pourrai tu mieux m'expliquer stp!
    Ce que l'on fait dans sa vie...

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Si tu utilises GCC comme compilateur et que tu rajoutes l'option -Wwrite-strings dans sa ligne de commande, tu auras un warning si tu fais ceci:En effet, le warning signale qu'il faut utiliser const avec les constantes chaînes.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. difference entre deux chaines de caractères char*
    Par mandrain dans le forum Débuter
    Réponses: 2
    Dernier message: 12/06/2014, 18h51
  2. Trouver les differences entre deux chaines
    Par xxxavvv dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2010, 23h42
  3. Valeur calculée difference entre deux dates #NOMBRE!
    Par gracouille dans le forum SharePoint
    Réponses: 3
    Dernier message: 13/06/2008, 11h59
  4. nombre de difference entre deux mots
    Par navigator2008 dans le forum C
    Réponses: 8
    Dernier message: 23/01/2008, 23h59
  5. nombre en lettres & la différence entre deux dates
    Par Karim1971 dans le forum Excel
    Réponses: 1
    Dernier message: 15/08/2007, 06h08

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