Suppression d'une chaine !

avenger10 -  
geotop2013 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    initialise i et j
    0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Alloue ch et ch1
    0
  3. geotop2013 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
     
    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