[C] Supprimer 1ère occurence selon motif
Résolu
houda
-
houda -
houda -
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
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
A voir également:
- [C] Supprimer 1ère occurence selon motif
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Fichier impossible à supprimer - Guide
- Supprimer compte instagram - Guide
7 réponses
Salut,
Puisque tu as le droit d'utiliser les fonctions de string.h, tu peux faire :
Cdlt
Puisque tu as le droit d'utiliser les fonctions de string.h, tu peux faire :
#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
En quelle langage ?? (C je suppose)
Et je suppose aussi que c'est un exercice que tu as à faire, donc tu commences (tu mets ce que tu as déjà fait) et nous on te dit si c'est juste ou pas ....
bye
Et je suppose aussi que c'est un exercice que tu as à faire, donc tu commences (tu mets ce que tu as déjà fait) et nous on te dit si c'est juste ou pas ....
bye
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mon travail c'est
#include<stdio.h>
#include<
void main()
{
char obj[20],suj[20];
int i,j;
j=0;
for(i=0;obj!='/0';i++)
if(obj[i]!=obj[i+1])
suj[j]=obj[i];
j++;
}
c'est ça mon tarvail, je ne sais pas comment je continue le programme
#include<stdio.h>
#include<
void main()
{
char obj[20],suj[20];
int i,j;
j=0;
for(i=0;obj!='/0';i++)
if(obj[i]!=obj[i+1])
suj[j]=obj[i];
j++;
}
c'est ça mon tarvail, je ne sais pas comment je continue le programme
Re,
106485010510997108
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ésultat
lami20j@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
Je préfère ta version ;-)
Toutefois avec for il peut voir un peu le mécanisme ;-))