Bonjour, je m'entraîne à faire des annales pour mon partiel d'info mais je bloque depuis un moment sur une question qui paraît simple. Le but de la question est de dire si une colonne nc est ordonnée. La fonction renvoie true si elle est ordonnée et false sinon.
Une colonne ordonnée est par exemple :
-3
7
7
ou
15
6
-2
J'ai écris une algorithme que j'ai testé mais il ne marche pas donc j'aimerais savoir si vous pouviez m'aider. J'ai l'impression qu'il ne fonctionne pas juste lorsque je teste si la colonne est ordonnée de façon décroissante...
Voilà le code que j'ai écris :
Merci d'avance
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 bool est_ordonnee (int K[taille1][taille1], int nbc, int nbl, int nc) { int i, j ; bool triee; triee=true; i=0; j=0; for (i=0; i<=nbc-1; i++) { if (i==nc) // la colonne nc correspond à la colonne que l'utilisateur veut regarder { for (j=0; j<=nbl-1; j++) // tri croissant ? { if (K[i][j]<=K[i][j+1]) { triee=true; } else { triee=false; j=nbl-1; } } if (triee==true) return true; // ordonnée dans le sens croissant donc pas besoin de continuer => on retourne true else { for (j=0; j<=nbl-1; j++) //tri décroissant ? { if (K[i][j]>=K[i][j+1]) { triee=true; } else { triee=false; j=nbl-1; } } return triee; } } } }
Partager