Bonjour je viens vous demander de l'aide car j'ai un petit problème avec l'un de mes programmes en C.
Je dois déterminer si une chaîne de caractère se trouve dans une autre sans utiliser d'autres fonctions que strlen.
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 28 29 30 31 | #include <stdio.h> #include <string.h> int main(void) { char src[256] = {}; char facteur[256] = {}; int compteur = 0; unsigned i; printf("Saisir le premier mot: "); scanf("%s", &src); printf("Saisir le deuxiéme mot: "); scanf("%s", &facteur); int longueur = strlen(src); int longueurFacteur = strlen(facteur); /* boucle for juqu'à la fin du mot src. Le but étant de vérifier que le mot facteur est un facteur de src.*/ for(i=0 ; i<longueur ; i++){ //Si la lettre du mot facteur est égale à la lettre du mot src, on incrémente i if(facteur[i] == src[j]){ compteur++; /*l faut ensuite vérifier si la valeur de la variable compteur est égale à la longueur du mot facteur.*/ if(compteur == longueurFacteur) printf("Le mot %s est bien un mot facteur de %s \n", facteur, src); } } return 0; } |
Par exemple, dans le mot polycopie, le mot poly le mot copi sont des chaînes qui sont présents dans polycopie.
Alors avec mon programme, avec le mot poly ça fonctionne mais pas avec les autres, car j'utilise les indices ! Mais je vois pas qu'elles sont les autres méthodes !
Voilà merci d'avance !
+0
-0