Programmation en c,
Résolu/Fermé
salut tous le mone si quelqu'un peut me faire je serai trés reconnaissant SVP SVP SVP ...........................................
le programme en c qui recherche une sous chaine dans une autre chaine constante comme cela
int str str(const char *chaine,const char *cible)
elle retourne le nombre de fois qu'une cible apparait dans une chaine.
exemple: " le monde est bon" le programme doit retourner la valeur 2.
SVP aider moi c'est trés urgent
merci d'avance
le programme en c qui recherche une sous chaine dans une autre chaine constante comme cela
int str str(const char *chaine,const char *cible)
elle retourne le nombre de fois qu'une cible apparait dans une chaine.
exemple: " le monde est bon" le programme doit retourner la valeur 2.
SVP aider moi c'est trés urgent
merci d'avance
A voir également:
- Programmation en c,
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Ce programme est écrit en python ✓ - Forum Python
3 réponses
oui je sait, mais le rof nous a demander d'ecrire un implémentation de cette fonction.
j'ai essayer de la faire mais mais malheuresemant mon micro c'est plenter et j'ai pas un micro pour le refaire c'est trop tard, SVP aidez moi
j'ai essayer de la faire mais mais malheuresemant mon micro c'est plenter et j'ai pas un micro pour le refaire c'est trop tard, SVP aidez moi
mamiemando
Messages postés
33614
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
2 avril 2025
7 836
23 avril 2006 à 12:59
23 avril 2006 à 12:59
C'est plutôt strstr :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strstr.3.html
Et si elle existe déjà, pourquoi tu veux la recoder ? En plus je crois que c'est une question à laquelle j'ai déjà répondu sur ce forum... Il faut balayer ta chaine en utilisant la fonction strcmp...
Bonne chance
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strstr.3.html
Et si elle existe déjà, pourquoi tu veux la recoder ? En plus je crois que c'est une question à laquelle j'ai déjà répondu sur ce forum... Il faut balayer ta chaine en utilisant la fonction strcmp...
Bonne chance
mamiemando
Messages postés
33614
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
2 avril 2025
7 836
24 avril 2006 à 00:25
24 avril 2006 à 00:25
On écrit trivialement le programme suivant ;-)
Merci de ne pas recopier bêtement et de prendre le temps de comprendre... je n'aime pas donner les solutions d'un exercice directement.
Bonne chance
#include <string.h> #include <stdio.h> /** * \brief teste si la deuxieme chaine est le * debut de la seconde * \param sentence la phrase * \param pattern le motif * \return 1 si vrai 0 sinon */ int is_prefix(const char *sentence,const char *pattern){ unsigned int i, len_p=strlen(pattern), len_s=strlen(sentence); for(i=0;i<len_p;++i){ if(i>len_s) return 0; if(sentence[i]!=pattern[i]) return 0; } return 1; } /** * \brief compare deux chaines en retournant * le nombre d'occurence de la 2e dans la 1ere * \param sentence la phrase * \param pattern le motif * \return le nombre d'occurence de str2 dans str1 */ unsigned int my_strstr(const char *sentence,const char *pattern){ unsigned int res=0,i, len_s=strlen(sentence), len_p=strlen(pattern); for(i=0;i<len_s;++i){ if(is_prefix(sentence,pattern)) ++res; ++sentence; } return res; } int main(){ char *str1="plop et plop plopplop"; char *str2="plop"; printf("str1 = [%s]\n",str1); printf("str2 = [%s]\n",str2); printf("my_strstr(\"%s\",\"%s\") = %d\n",str1,str2,my_strstr(str1,str2)); return 0; }
Merci de ne pas recopier bêtement et de prendre le temps de comprendre... je n'aime pas donner les solutions d'un exercice directement.
Bonne chance