Bonjour je dois résoudre un algo en c sur la Monotonie
Voici le code , je pense avoir du rater un élément important dans ma partie principale de ma boucle de traitement pour la vérification de la mono.
Pourriez vous m'aider à situer le soucis, j'ai beau me relire plusieurs fois, je dois commettre la même erreur de raisonnement.
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 typedef struct monotonie { int *ptrdebut; int longueur; } mono; int main() { int tab[20]; int n; mono tabMono[20]; int i = 0, j = 0,k = 0; int *l; int ctr = 0; system("cls"); printf("Introduire une serie de nombre\n\n"); while((ctr <= 20) && ( n != 0)) { printf("\nEntre le nombre %d : ",ctr + 1) ; scanf("%d",&n); if(n != 0 ) { tab[ctr] = n; ctr = ctr + 1; } } ctr = ctr - 1; if (ctr > 0) { tabMono[j].ptrdebut = &tab[i]; while(i < ctr) { if (tab[i] < tab[i + 1]) { k = k + 1; // longueur de la série i = i + 1; } else { tabMono[j].longueur = k; k = 0; j = j + 1; i = i + 1; tabMono[i].ptrdebut = &tab[i]; } } tabMono[j].longueur = k; for(i = 0; i <= j; i++) { printf("Serie n %d", i + 1); for(l = tabMono[i].ptrdebut; l <= (tabMono[i].ptrdebut + tabMono[i].longueur); l++ ) { printf(" %d ", *l); } printf("\n"); } } printf("\n\n"); system("pause"); system("cls"); return 0; }
Désolé du dérangement
Solution trouvée : j'avais mis i au lieu de j ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part tabMono[j].ptrdebut = &tab[i];
Partager