Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Exercice] Fonctions pour chaine de caractères

Sujet résolu
Anonyme
    20 juin 2022 à 2:13:15

    SALUT PUIS-JE AVOIR DE L'AIDE POUR RESOUDRE CE EXERCICE

    MERCI D'AVANCEchaine

    -
    Edité par Anonyme 20 juin 2022 à 2:35:53

    • Partager sur Facebook
    • Partager sur Twitter
      20 juin 2022 à 2:24:29

      Tu es encore moins explicite dans ce post ...
      Donnes plus de détails.
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        20 juin 2022 à 2:32:29

        Exercice 1

        Faire preuve de la moindre des considérations, en disant un petit mot sympa genre "bonjour"

        Expliquer quel problème on rencontre après avoir au moins essayé de faire quelque chose. Parce que présentée comme ça on dirait que tu nous proposes un exercice, qui, en moyenne, ne va pas vraiment nous présenter de difficultés. 

        Voir première consigne avec une petite variation, genre "merci".

        Bon courage.

        • Partager sur Facebook
        • Partager sur Twitter

        Bonhomme !! | Jeu de plateforme : Prototype.

        Anonyme
          20 juin 2022 à 2:33:46

          Désole j'ai pas plus de détail, c'est pour cela j'ai préféré faire une capture d'écran de l'exercice en questions!

          -
          Edité par Anonyme 20 juin 2022 à 2:37:04

          • Partager sur Facebook
          • Partager sur Twitter
            20 juin 2022 à 2:48:46

            Désolé, je suis aveugle et je ne peux pas voir les captures d'écran. :)
            Si tu avais au moins fait l'effort de résumer le problème, j'aurais pu t'aider.

            edit:

            Ton texte est forcément dans un fichier où dans une page Web. Fais un copier-coller.

            -
            Edité par PierrotLeFou 20 juin 2022 à 2:59:38

            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

            Anonyme
              20 juin 2022 à 3:08:16

              Salut puis je avoir de l'aide pour resoudre ces differents problemes

              Écrire vos "propres fonctions" qui jouent le rôle de :

              1. la fonction "strcpy" (copie de chaînes de caractères)

              2. la fonction "strstr" (une chaîne est-elle une sous-chaîne d'une autre chaîne?)

              3. La fonction "strlwr" (conversion toute la chaîne en minuscules). 

              • Partager sur Facebook
              • Partager sur Twitter
                20 juin 2022 à 3:40:03

                D'abord, sais-tu comment écrire des fonctions?
                Pour strcpy, ça va te prendre deux arguments qui sont des chaînes de caractères définies dans le programme appelant.
                La chaîne où tu recopieras devras être au moins aussi longue que la chaîne de départ.

                Comment ferais-tu sans fonction, directement dans le main ?
                La fonction strlwr ne prend qu'un argument. Tu auras besoin de la fonction tolower()


                https://koor.fr/C/cctype/tolower.wp


                La fonction strstr est un peu plus complexe, gardes la pour la fin.

                Il y a plus d'une façon d'écrire ces fonctions. As-tu vu les tableaux et utilisé les indices?

                edit:
                Je te donne une variante de strlwr. Note que je l'ai appelée my_strlwr pour ne pas entrer en conflit avec celle du système.
                Ce qu'il y a dans le  if  est l'équivalent de tolower().
                Le résultat est à la fin.
                (note, mon code n'est pas coloré. Je suis vraiment aveugle et je n'ai pas accès au bouton code)
                 
                #include <stdio.h>
                #include <string.h>
                void my_strlwr(char chaine[]) {
                    size_t longueur = strlen(chaine);
                    for(size_t i = 0; i < longueur; i++) {
                        if(chaine[i] >= 'A' && chaine[i] <= 'Z') {
                            chaine[i] = chaine[i] - 'A' + 'a';
                        }
                    }
                }
                int main(void) {
                    char string[] ="PierrotLeFou? C'est Moi!";
                    my_strlwr(string);
                    printf("%s\n", string);
                }
                 
                pierrotlefou? c'est moi!

                -
                Edité par PierrotLeFou 20 juin 2022 à 4:31:33

                • Partager sur Facebook
                • Partager sur Twitter

                Le Tout est souvent plus grand que la somme de ses parties.

                  20 juin 2022 à 10:50:17

                  Pierrot : du coup tu n'as pas utilisé 'tolower'. À mon avis c'est ce qui est demandé (on est dans une logique de reconstruire les fonctions de la bibliothèque standard, je trouve plus cohérent de ne pas en utiliser si on peut la ré-écrire).
                  .
                  D'ailleurs tu ne devrais pas inclure <string.h>. Dans l'énoncé, les fonctions à écrire portent les mêmes noms que celles de la bibliothèque standard, c'est donc bien qu'on ne doit pas utiliser <string.h>. (Je ne serais pas étonné que, à ce stade, CheickDiakité ait déjà écrit une fonction qui calcule la longueur de la chaîne. Sinon il est facile (et formateur, je trouve) de s'en passer.)
                  ------
                  CheickDiakité : tu as oublié d'indiquer là où tu bloques.

                  -
                  Edité par robun 20 juin 2022 à 10:52:46

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 juin 2022 à 12:04:32

                    robun a écrit:

                    Je ne serais pas étonné que, à ce stade, CheickDiakité ait déjà écrit une fonction qui calcule la longueur de la chaîne. 
                    Non, il attend que vous fassiez son travail !
                    • Partager sur Facebook
                    • Partager sur Twitter
                    ...
                      20 juin 2022 à 15:44:04

                      Salut CheickDiakité,

                      La première chose à faire est de réaliser que deux de ces fonctions sont des fonctions de la bibliothèque standard du C (strcpy et strstr).

                      L'autre (strlwr) est une fonction non standard, mais présente sur certains compilateurs comme celui de Microsoft (voir sa documentation et ici).

                      Commence par étudier leur documentation, ce qui te donnera leur prototype et une description de leur comportement.

                      Après, sans faire l'exercice à ta place, on peut difficilement t'aider plus.

                      Pour l'instant, tu as juste montré que tu savais poster un énoncé. On ne sait pas de quel genre d'aide tu as besoin, parce que tu ne dis rien d'autre.



                      • Partager sur Facebook
                      • Partager sur Twitter

                      [Exercice] Fonctions pour chaine de caractères

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown