Écrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit ensuite afficher soit « le tableau est croissant », soit « le tableau est décroissant », soit « le tableau est constant », soit « le tableau est quelconque ».
Voici mon code :
int main()
{
int i;
bool croissant, decroissant;
std::array<int, 5> const tableau_de_5_entiers{ 1, 2, 3, 4, 5 };
for (i = 0; i < 5; i++)
{
if (tableau_de_5_entiers[i] > tableau_de_5_entiers[i + 1])
{
croissant = false;
}
if (tableau_de_5_entiers[i] < tableau_de_5_entiers[i + 1])
{
decroissant = false;
}
}
if (croissant && decroissant)
{
std::cout << "Le tableau est constant" << std::endl;
}
if (croissant && !decroissant)
{
std::cout << "Le tableau est croissant" << std::endl;
}
if (!croissant && decroissant)
{
std::cout << "Le tableau est décroissant" << std::endl;
}
return 0;
}
Il y a d'autres erreurs, le compilateur a dû te les signaler dans la fenêtre sortie (output).
Et, en cliquant sur le bouton Recommencer du dialogue qui est apparu, puis en affichant la pile des appels (call stack), tu as accès a la ligne où s'est produite l'erreur que t'a indiqué @rouloude.
La pile des appels, c'est pas franchement intéressant à regarder quand il n'y a qu'un main.
PS:
ne pas oublier d'initialiser les indicateurs croissant et décroissant.
quand i vaut 4 (le plus grand indice correct), i+1 vaut 5. D'où "subscript out of range" quand on essaie de s'en servir comme indice dans un tableau à 5 éléments.
- Edité par michelbillaud 2 septembre 2023 à 19:48:44
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
En recherche d'emploi.