1. Se citeste un sir de n numere naturale. Afisati cele mai mici 2 elemente din sir.
2. Se citeste un sir de n numere naturale. Afisati cele mai mari 3 elemente din sir printr-o singura parcurgere a sirului.
VA ROG, DAU MULTE PUNCTE!!
Răspunsuri la întrebare
Răspuns:
*********** doua minime *******
#include <iostream>
using namespace std;
int main()
{
int a,b,c,m1,m2, i, n;
cin >> n;
cin >> a >> b;
m1=min(a,b); m2=max(a,b);
for (i=3; i<=n; ++i)
{
cin >> c;
if (c<m1)
{
m2=m1;
m1=c;
}
else
{
if (c<m2) m2=c;
}
}
cout << m1 << " " << m2;
return 0;
}
Explicație:
------------- trei maxime --------------
#include <iostream>
using namespace std;
int main()
{
int a,b,c,max1,max2,max3,i,n;
cin >> n;
cin >> a >> b;
max1=min(a,b); max2=max(a,b);
cin >> c;
if (c>max2) max3=c;
else
{
if (c>max1)
{
max3=max2; max2=c;
}
else
{
max3=max2; max2=max1; max1=c;
}
}
for (i=4; i<=n; ++i)
{
cin >> c;
if (c>max3)
{
max1=max2; max2=max3; max3=c;
}
else
{
if (c>max2)
{
max1=max2; max2=c;
}
else
{
if (c>max1) max1=c;
}
}
}
cout << max1 << " " << max2 << " " << max3;
return 0;
}