Chaine de caracteere

Fermé
mam - 26 nov. 2007 à 21:06
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 26 nov. 2007 à 23:17
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]

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
26 nov. 2007 à 21:09
Salut,

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

Cdt
0
il s'agit de la programmation en langage C
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
26 nov. 2007 à 22:00
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
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
26 nov. 2007 à 22:28
Salut fiddy,

tu as mis 2 fois #include <stdio.h>
mais sûrement tu as pensé à ça ;-))
#include <stdio.h>
#include <string.h>
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
26 nov. 2007 à 23:13
Lol, décidément, je les collectionne aujourd'hui.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
26 nov. 2007 à 23:17
c'est l'hasard ;-)
je ne suis pas sur tes trousses ;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
26 nov. 2007 à 22:26
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