Suppression d'une chaine !

Fermé
Signaler
-
Messages postés
5
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
15 mars 2013
-
Bonjour,
#include<string.h>
#include<stdio.h>
void main()
{
int i,j,length,length1,occ;
char *ch;
char *ch1;
printf("donner une chaine");
gets (ch);
printf("donner une chaine");
gets (ch1);
occ=strstr(ch,ch1);
length=strlen(ch);
length1=strlen(ch1);
while (i<=length)
{
if (i<occ)
{
ch*[j]=ch*[i]
j++;
i++;
}
else if (i>(occ+(length1-1)))
{
strcpy(ch*[j],ch*[i]);
j++;
i++;
}
else
i++;

}
ch[strlen(ch)]='/0';

puts (ch);



}


3 réponses

Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 321
initialise i et j
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 797
Alloue ch et ch1
Messages postés
5
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
15 mars 2013

voici une nouvelle version de ton programme qui supprime la sous-chaine ch1 d'une chaine ch:
int i,j,k,length,length1,occ;
char ch[10] = "";
char ch1[4] = "";
char ch2[10] = "";
char *ss_ch;

printf("donner une chaine de caracteres:");
gets (ch);
printf("donner une sous chaine de caracteres:");
gets (ch1);
ss_ch=strstr(ch,ch1);
length=strlen(ch);
length1=strlen(ch1);
if (ss_ch!=NULL)
{
occ=strlen(ss_ch);
j=0;

while (j<length-occ)
{
ch2[j]=ch[j];
j++;
}

k=j+length1;
while (k<length)
{
ch2[j]=ch[k];
j++;
k++;
}
}
else
{
strcpy(ch2,ch1);
}
puts(ch2);