Chaine de caracteere

mam -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,

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

    Cdt
    0
  2. mam
     
    il s'agit de la programmation en langage C
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut fiddy,

      tu as mis 2 fois #include <stdio.h>
      mais sûrement tu as pensé à ça ;-))
      #include <stdio.h>
      #include <string.h>
      0
      1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        Lol, décidément, je les collectionne aujourd'hui.
        0
      2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        c'est l'hasard ;-)
        je ne suis pas sur tes trousses ;-))
        0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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';
    }
    
    0