Bonjour à tous voilà le problème qui met poser :
"Écrire une fonction C capable de déterminer la longueur de la plus grande séquence d’entiers croissants consécutifs contenue dans un tableau d'entiers donnés.
Par exemple, pour un tableau contenant les valeurs 1, 2, 6, 4, 5, 6, 6, 3, 4, 1, cette fonction doit retourner 3, correspondant à la longueur de la séquence 4, 5, 6"
J'ai tenté de faire un code que voici ci-dessous mais j'arrive toujours à la réponse 1 pour l'occurrence_tmp et 10 pour la position_tmp mais je ne vois pas pourquoi avec mon code j'arrive à ce résultat quelqu'un saurait m'éclairer ? merci beaucoup : D
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 int main() { int tableauValeur[MAX] = {1,2,6,4,5,6,6,3,4,1}; int position=0,occurence=0,position_tmp=0,occurence_tmp=0; for (int i = 0; i < MAX; ++ i) { position=i+1; occurence=1; for (int j=i;tableauValeur[j] == (tableauValeur[j+1])-1; j++,occurence++) { } } if (occurence > occurence_tmp) { occurence_tmp=occurence; position_tmp=position; } printf("\n\nLa plus longue sequence commence a la position %d et comprend %d nombres croissants consecutifs\n", position_tmp, occurence_tmp);
Partager