Informatică, întrebare adresată de nusunteumj, 8 ani în urmă

cum faci un algoritm în c++ pentru a afla cele mai mari 3 numere dintr-un șir de n numere?​

Răspunsuri la întrebare

Răspuns de Mateiut9
1

Răspuns:

#include <iostream>

using namespace std;

int main(){

   int v[1001],n;

   cin>>n;

   for(int i=1;i<=n;i++){ //citirea vectorului

       cin>>v[i];

   }    

   for(int i=1;i<=n;i++){      //sortezi vectorul in ordine cresc

       for(int j=i+1;j<=n;j++){

           if(v[i]>v[j]){        

               swap(v[i],v[j]);

           }

       }    

   }    

   cout<<v[n]<<' '<<v[n-1]<<' '<<v[n-2]; //ultimele 3 nr sunt cele mai mari

}

Explicație:


andrei750238: Nu e nevoie sa sortezi tot vectorul.
Poti sorta in ordine descrescatoare cu selection sort doar pentru primele 3 elemente.
Alte întrebări interesante