Bonjour à tous, on est étudiants on se donne à fond en C et on voudrait bien avoir votre avis sur ce code svp car on galère un peu.
la consigne :
On ne comprend/visualise pas vraiment la phrase qui commence par 'ATTENTION'... Merci pour celui qui voudra nous l'expliquer à sa manière..."
Remplacer, au sein d’une chaîne de caractères originale (ici ch1), toute occurrence (apparition) d'une sous-chaîne contenant 4 caractères par une autre sous-chaîne contenant également 4 caractères.
Les 2 sous-chaînes devront être initialisées au clavier par l'utilisateur qui aura la possibilité de le faire, pour chaque sous-chaîne, avec les caractères de son choix. Le nombre de remplacements effectués devra également pouvoir être récupéré et affiché.
ATTENTION: le remplacement ne sera effectuée dans la chaîne d'origine que si le caractère qui suit l'apparition de la sous-chaîne recherchée dans la chaîne originale vaut 'c'. (c minuscule).
"
Merci de nous avoir lu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 #include <stdio.h> #include <stdlib.h> #define N 128 int remplace (char * ); int main(int argc, char *argv[]) { char ch1 [N]; int nbremplacement; printf(" Entrez la chaine originale contenant maximum %d caracteres :\n\n ", N - 1); fgets(ch1, N+1, stdin); nbremplacement = remplace (ch1); if (nbremplacement) { printf("Voici le nombre de remplacement(s) effectue(s) : %d\n", nbremplacement); printf("Chaine modifiee :"); puts(ch1); } else printf("La chaine originale n'a pas ete modifiee.\n"); system("PAUSE"); return 0; } int remplace (char * s) { int cpt = 0; char srecherchee[5], sremplacement[5]; printf("Entrez une sous chaine de 4 caracteres a rechercher : \n"); fgets(srecherchee, 4+1, stdin); //gets(srecherchee); printf("Entrez une sous chaine de 4 caracteres pour le remplacement : \n"); fgets(sremplacement, 4+1, stdin); while (*(s + 4)) // on ne sait pas comment l'écrire autrement { if ( s[0] == srecherchee[0] && s[1] == srecherchee[1] && s[2] == srecherchee[2] && s[3] == srecherchee[3] && s[4] == ['c'] ) // on se demande si il faudrait ici indiquer 'c' entre crochet svp ? { s[0] = sremplacement[0]; s[1] = sremplacement[1]; s[2] = sremplacement[2]; s[3] = sremplacement[3]; s = s + 4; cpt++; } else s++; } return cpt; }![]()
Partager