#include<iostream>
using namespace std;
int main()
{
int s;
cin>>s;
int t=3;
int maxValue,imax[t],maxIndex,arr[s];
for(int i=0; i<s; i++){
cin>>arr[i];
}
maxValue=arr[0];
for(int i=0;i<s;i++){
if(arr[i]>maxValue){
maxValue=arr[i];
imax[0] = i;
}
}
maxValue=arr[0];
for(int i=0;i<s;i++){
if (i == imax[0]) { continue; }
if(arr[i]>maxValue){
maxValue=arr[i];
imax[1] = i;
}
}
maxValue=arr[0];
for(int i=0;i<s;i++){
if (i == imax[0]) { continue; }
if (i == imax[1]) { continue; }
if(arr[i]>maxValue){
maxValue=arr[i];
imax[2] = i;
}
}
cout<<"First biggest number:"<<arr[imax[0]]<<"\n";
cout<<"Second biggest number:"<<arr[imax[1]]<<"\n";
cout<<"Third biggest number:"<<arr[imax[2]];
return 0;
}
Ce programme doit retourner le nombre d'arbres qui est le plus grand dans ce arraybut, je ne sais pas pourquoi quand je présente comme exemple cinq numéros (121,34,56,67,545) et le compilateur a été Renvoie 545, puis tombe en panne. Merci d'avance pour la réponse.Les trois plus grands nombres dans tableau
'arr [s]' n'est pas standard C++. Ne peux-tu pas utiliser un 'std :: vector' à la place? Aussi, comment gérez-vous le cas où les 3 premiers numéros contiennent des doublons? –
Bathsheba
Comme l'a dit @Bathsheba, utilisez 'std :: vector'. Puis cherchez 'std :: nth_element'. –
quand je commence le compilateur je présente comme exemple cinq nombres (121,34,56,67,545) et le compilateur était le retour 545 et ensuite décomposer –