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 :

Ecrire une fonction qui inverse une chaine de caractère


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut Ecrire une fonction qui inverse une chaine de caractère
    Bonjour à tous

    Je débute dans le code et je rencontre des difficultés pour réaliser cette fonction en langage C :

    Write a function that reverses a string.

    Prototype: void rev_string(char *s); // Je dois utiliser un main.h qui inclue ce prototype

    un fichier nommé 5-main.c dans lequel je dois copier ce code :

    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 "main.h"
    #include <stdio.h>
     
    /**
     * main - check the code
     *
     * Return: Always 0.
     */
    int main(void)
    {
        char s[10] = "My School";
     
        printf("%s\n", s);
        rev_string(s);
        printf("%s\n", s);
        return (0);
    }
    //Pour compiler : gcc -Wall -pedantic -Werror -Wextra -std=gnu89 5-main.c 5-rev_string.c -o 5-rev_string
    // Pour executer : ./5-rev_string

    //Résultat à afficher :

    My School
    loohcS yM

    // Je dois créer un fichier 5-rev_string.c contenant le code de la fonction .

    Est-ce qu'une âme charitable peut m'expliquer svp .

    Merci

  2. #2
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Et bien c'est simple, à l'aide d'une boucle, tu échanges le premier caractère de la chaîne avec le dernier, puis le second avec l'avant dernier, etc... tu t’arrêtes quand tu as atteins le milieu de la chaîne, sinon tu va la remettre dans l'ordre.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 866
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Si tu as le droit d'utiliser strlen() tu t'en sers pour trouver la position du dernier caractère. Sinon tu la cherches en bouclant jusqu'au '\0'.
    Ensuite tu as deux indices, l'un qui monte et l'autre qui descend et tu permutes les caractères de ces indices.. Et tu t'arrêtes quand les indices se croisent (quand le premier atteint le second).

    PS: tu as aussi le droit de prendre un papier, un stylo, et utiliser ces supports pour t'aider à visualiser l'algorithme...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/05/2010, 17h11
  2. Réponses: 3
    Dernier message: 12/12/2008, 11h47
  3. Ecrire une chaine de caractère dans un fichier excel
    Par Wassim123 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/05/2008, 11h42
  4. Fonction qui modifie une chaine de caractère
    Par condor_01 dans le forum Débuter
    Réponses: 7
    Dernier message: 05/11/2007, 19h32
  5. Réponses: 23
    Dernier message: 13/11/2006, 04h33

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