👤

Se da un vector cu n componente. Afisati cele mai mari 3 componente.


Răspuns :

O solutie eficienta.

#include <iostream>

using namespace std;

int main()

{

int n, v[100], x, y, z;

cin >> n;

cin >> x >> y >> z;

if (x > y)

{

 int aux = x;

 x = y;

 y = aux;

}

if (y > z)

{

 int aux = y;

 y = z;

 z = aux;

}

if (x > y)

{

 int aux = x;

 x = y;

 y = aux;

}

for (int i = 3; i < n; ++i)

{

 cin >> v[i];

 if (v[i] > z)

 {

  int aux = z;

  z = v[i];

  x = y;

  y = aux;

 }

 else if (v[i] > y)

 {

  x = y;

  y = v[i];

 }

 else if (v[i] > x)

  x = v[i];

}

cout << x << " " << y << " " << z << endl;

return 0;

}