Partage
  • Partager sur Facebook
  • Partager sur Twitter

comment compare deux char en c?

(comment utulise strcmp?) pour un exercice

Sujet résolu
21 avril 2016 à 0:18:59

je veux avoir de laide dans cette exercice que jai pas pu le faire et mrc

  • Partager sur Facebook
  • Partager sur Twitter
m2s
21 avril 2016 à 0:54:49

Bonjour ou bonsoir à toi aussi....

Tu ne dois pas être bien loin en C.

Pour comparer deux char, c'est char1==char2.

Pour comparer deux chaines de caractères, c'est (entre autres) strcmp().

Pour rechercher une chaine dans une autre, c'est strstr().

Montre le code que tu as déjà écrit et explique ce qui ne fonctionne pas, nous t'aiderons avec plaisir.

A+

Edgar;

-
Edité par edgarjacobs 21 avril 2016 à 1:31:14

  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

21 avril 2016 à 7:36:14

RTFM -> strcmp

-
Edité par DFK 21 avril 2016 à 7:39:42

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
21 avril 2016 à 11:55:34

Tu devrais d'abord te lancer dans le cours sur le Langage C qui est vraiment pas mal du tout pour commencer l'apprentissage (les deux premiers chapitres suffisent au début).
  • Partager sur Facebook
  • Partager sur Twitter
21 avril 2016 à 16:16:42

edgarjacobs a écrit:

bonjour , c ca mon programme et je narrive pas a comprendre pourquoi il affiche qune fois la case ou il y a un s2 dans s1

  • Partager sur Facebook
  • Partager sur Twitter
m2s
21 avril 2016 à 16:34:40

Peux-tu déposer un code écrit plutôt qu'une capture d'écran s'il te plaît? Ce serait plus simple pour nous pour le récupérer et le tester ;)

Perso, je mettrai des "else if" plutôt qu'uniquement des "if"

Je pense que le problème vient de ta variable k qui est initialisée à 0.

Je n'arrive même pas à comprendre de ce fait comment tu pourrais entrer dans ton if(k>0)

  • Partager sur Facebook
  • Partager sur Twitter
Sois toujours toi même.. Sauf si tu peux être une licorne.. Dans ce cas, sois toujours une licorne..
21 avril 2016 à 19:20:51

Hello,

Dans le cas où n1>n2, emploie strstr(), pas deux boucles:

if(n1>n2) {
    char *s;
    s=strstr(s1,s2);                    // searches if s2 is in s1
    while(s!=NULL) {                    // yes if not NULL
        printf("exist at pos %d\n",s-s1);
        s=strstr(s+1,s2);
    }
}

Code tapé en ligne et non testé, mais ça devrait être correct.

A+

Edgar;

-
Edité par edgarjacobs 21 avril 2016 à 19:24:30

  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

21 avril 2016 à 23:23:27

edgarjacobs a écrit:

j`ai pas bien comprit comment strstr marche

  • Partager sur Facebook
  • Partager sur Twitter
m2s
21 avril 2016 à 23:29:30

acmilanm2s a écrit:

j`ai pas bien comprit comment strstr marche

As-tu seulement cherché ? strstr() avec un exemple.

Edgar;



-
Edité par edgarjacobs 21 avril 2016 à 23:30:04

  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

12 octobre 2021 à 13:56:39 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


12 octobre 2021 à 15:14:12

@GracianoÁlvaro Bonjour, merci de ne pas déterrer d'ancien sujet résolu. Créer le votre dans le respect des règles du forum.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter