bonjour!
si quelqu'un pourra m'aider à résoudre ce problème !
il s'agit d'écrire un prog.C qui cherche une chaine de carctère mot1 dans un autre mot2 et returne mot1 si trouvé..
j'ai essayé et ca n'a pas marché![]()
bonjour!
si quelqu'un pourra m'aider à résoudre ce problème !
il s'agit d'écrire un prog.C qui cherche une chaine de carctère mot1 dans un autre mot2 et returne mot1 si trouvé..
j'ai essayé et ca n'a pas marché![]()
As-tu droit à la foction strstr ?
Si oui, c'est fait, sinon, il faut écrire un petit automate de recherche, creuse cette voie.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 /*voici mon algorithme:*/ #include<stdio.h> #include<string.h> #include<conio.h> void recherche (char ch1[],char ch2[]) { int i=0;int j=0; if(strlen(ch1)<=strlen(ch2)) { while(( (i<strlen(ch1)) && (j<=strlen(ch2)) || (i<=strlen(ch1)) )) { if(ch1==ch2[j]) { i++; j++; } else { i=0; j++; } } printf("i= %d j= %d\n",i,j); if (i-1==strlen(ch1)) printf("le mot est trouve"); else printf("le mot n'est pas trouve"); } else printf("chaine courte"); } int main() { char mot; char motsource[20]; printf("donner la chaine source:\n"); gets(motsource); printf("donner le mot a rechercher:\n"); gets(mot); recherche(mot,motsource); getch(); }
Utilise les balises code c'est beaucoup plus lisible.
gets est un bug, il faut utiliser fgets(buf, sizeof buf, stdin).
main doit retourner un int.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
En regardant un peu plus ton code
Comportement indéfini, le pire, ça marche jusqu'au moment où ça ne marche plus, souvent le jour de la présentation devant le prof !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 char mot; // plus loins gets(mot);
Sinon ton code me semble correct, mais je n'ai pas approfondi, la section algo c'est à côté.
Tout de même ce testme paraît sujet à caution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part while(( (i<strlen(ch1)) && (j<=strlen(ch2)) || (i<=strlen(ch1)) ))
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Partager