Chaine de caracteere

Bonjour,
exercice :on donne CH1 et CH2 ,deux chaines de caracteres;supprimer tous les caracteres de ch1 qui apparaissent dans CH2
exemple
ch1[BONJOUR], ch2[BRAVO] à l'affichage on a [njou]
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut,

    Tu as oublié la question ? Algorithme ou le programme ? En quel langage ?

    Cdt
    1. Contributeur
      Salut,
      #include <stdio.h>
      
      
      #include <stdio.h>
      
      
      int main(){
          char *ch2="bonjour";
          char *ch1="bravo";
          
          int i=0,j=0;
          while(i<strlen(ch2)){
                               j=0;
                              while(j<strlen(ch1) && ch1[j]!=ch2[i])
                                                  j++;
                     
                             if(j==strlen(ch1)) printf("%c ",ch2[i]); 
                              i++;                   
                              
          }                
          puts("");
          system("pause");                                      
      
          return 0;
      }
      
      


      Cdt
      1. Modérateur
        Salut fiddy,

        tu as mis 2 fois #include <stdio.h>
        mais sûrement tu as pensé à ça ;-))
        #include <stdio.h>
        #include <string.h>
      2. Contributeur
        @lami20jLol, décidément, je les collectionne aujourd'hui.
      3. Modérateur
        @fiddyc'est l'hasard ;-)
        je ne suis pas sur tes trousses ;-))
    2. Modérateur
      Salut,

      une autre possibilité
      #include <stdio.h>
      
      void suppr (char *, char *);
      
      int main ()
      {
        char ch1[] = "bonjour";
        char ch2[] = "bravo";
      
        printf ("avant %s\n", ch1);
        printf ("avant %s\n", ch2);
        suppr (ch1, ch2);
        printf ("dans ch1 et pas dans ch2: %s\n", ch1);
        return 0;
      }
      
      void suppr (char *ch1, char *ch2)
      {
        int i, j, k;
        for (i = j = 0; ch1[i] != '\0'; ++i){
            for (k = 0; ch1[i] != ch2[k] && ch2[k] != '\0'; ++k)
              ;
            if (ch2[k] == '\0')
              ch1[j++] = ch1[i];
        }
        ch1[j] = '\0';
      }