Suppression d'une chaine !

Fermé
avenger10 - 12 mars 2013 à 14:30
geotop2013 Messages postés 5 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 15 mars 2013 - 15 mars 2013 à 14:01
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);



}


A voir également:

3 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
12 mars 2013 à 15:04
initialise i et j
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
12 mars 2013 à 18:11
Alloue ch et ch1
0
geotop2013 Messages postés 5 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 15 mars 2013
15 mars 2013 à 14:01
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);
0