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 :

problème inversion de chaîne


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 64
    Par défaut problème inversion de chaîne
    Bonjour

    Je cherche à inverser une chaîne de caractères et
    à l'afficher mais je n'y arrive pas

    voici mon programme :

    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
     
    #include <iostream.h>
    #include <string.h>
    #include <conio.h>
    #include <stdio.h>
     
    int main() // fontion principale
    {
    clrscr();  // efface l'écran 
     
    char mot[]="anticonstitutionellement"; //  variable avec le contenu  à inverser ...
    char tempo;          // dans la variable "tempo" 
     
    unsigned longueur=strlen(mot); // ici on reçoit la longueur de la chaîne mot pour le compteur 
     
    for(int i= longueur; i>0; i--)
    {
         strncpy(tempo,mot(i)); // copie un à un les lettres de "anticonstitutionellement" 
                                 // depuis le dernier jusqu'au premier
    }
     
    cout << tempo ;  //affiche le résultat
     
    getch();  // attendre l'appuie d'une touche ... 
     
    return 0; // pour retour au système
    }

    qu'est ce qui ne fonctionne pas ??

    Merci d'avance

  2. #2
    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
    qu'est ce qui ne fonctionne pas ??
    Plein de choses :
    - tempo est de type char et ne pourra donc contenir qu'un caractère
    - mot(i) ne devrait même pas compiler, la syntaxe pour les accès indicés dans un tableau est mot[ i ]
    - strncpy ne s'utilise pas du tout comme ça
    - Tu utilises des fonctions et types C

    La solution est bien plus simple en bon C++ :
    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
    #include <string>
    #include <iostream>
    #include <algorithm>
     
    int main()
    {
        // Inverser dans la même variable
        std::string mot = "anticonstitutionellement";
        std::reverse(mot.begin(), mot.end());
        std::cout << mot << std::endl;
     
        // Ou alors en créer une nouvelle
        std::string tempo(mot.rbegin(), mot.rend());
        std::cout << tempo << std::endl;
     
        return 0;
    }

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 64
    Par défaut
    Merci pour ton aide Laurent

    j'ai un peu cafouillé le code mais
    je pense que je vais prendre un des cours c++
    que propose Développez et le lire avec patience
    je ferai ainsi moins d'erreurs ,
    va falloir que je me réfréne sérieusement

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

Discussions similaires

  1. [Débutant] Inverser une chaîne de caractères
    Par zbooon dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 28/04/2017, 13h44
  2. problème inversion d'affichage....???
    Par AlSvartr dans le forum Langage
    Réponses: 8
    Dernier message: 10/01/2006, 11h40
  3. Problème sur des chaînes de caractères
    Par Anonymous dans le forum Access
    Réponses: 9
    Dernier message: 16/09/2005, 08h21
  4. Problème de type chaîne
    Par champijulie dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 12/05/2005, 20h23
  5. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09

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