|
|
|
|
Bonjour
je cherche la correction de cet exercice
s'il vous plait aidez moi
l'exercice:
ecrire un programme qui suprime la premiere occurence d'une chaine de caracteres OBJ dans une autre
chaine de caracteres SUJ
EXEMLES:
PHON ALPHONSE ALSE
T TOTALEMENT OTALEMENT
HELLO HELLO
et merci en tout cas
Configuration: Windows XP Internet Explorer 7.0
En quelle langage ?? (C je suppose)
|
Re,
lami20j@debian:~/trash/ccm_c$ cat ccm53_premieroccurence.c
#include<stdio.h>
#include<string.h>
int main()
{
char obj[10];
char suj[50];
int i,j,k,t;
printf("Entrez un la chaine : ");
fgets(suj,50,stdin);
printf("Mot à supprimer : ");
scanf("%s",obj);
for(i=0;suj[i]!='\0';i++){
for(j=i,k=0;obj[k]!='\0' && suj[j]==obj[k];++j,++k)
;
if (k>0 && obj[k]=='\0')
break;
}
for(t=i;t<strlen(suj);++t)
suj[t]=suj[t+k];
suj[t]='\0';
printf("%s\n",suj);
return 0;
}Résultatlami20j@debian:~/trash/ccm_c$ gcc ccm53_premieroccurence.c lami20j@debian:~/trash/ccm_c$ ./a.out Entrez un la chaine : ALPHONSE Mot à supprimer : PHON ALSE lami20j@debian:~/trash/ccm_c$ ./a.out Entrez un la chaine : TOTALEMENT Mot à supprimer : T OTALEMENT lami20j@debian:~/trash/ccm_c$ ./a.out Entrez un la chaine : HELLO Mot à supprimer : HELLO lami20j@debian:~/trash/ccm_c$ ./a.out Entrez un la chaine : A LA FIN Mot à supprimer : FIN A LA-- 106485010510997108 |
Salut,
#include <stdio.h>
#include <string.h>
int main(void){
char suj[50];
char obj[10];
char *p=NULL;
printf("Entrez une chaine : ");
fgets(suj,sizeof suj,stdin);
printf("Mot à supprimer : ");
scanf("%9s",obj);
p=strstr(suj,obj);
if(p)
memmove(p,p+strlen(obj),sizeof obj);
puts(suj);
return 0;
}
Cdlt Google is your friend |