recherche d'une sous-chaine de caractère dans une chaine source
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é :(
j'ai pas le droit a utiliser strstr
Code:
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();
} |