Citim 10 numere naturale si afisam cele mai mari 2 numere
ps. Ajutati-ma va rog! Dau coroana si 20 puncte (vreau rezolvare cu FOR---clasa a 5-a)
Răspunsuri la întrebare
ăspuns:
#include <iostream>
using namespace std;
int main()
{
int a,b,c,m1,m2, i;
cout << "introdu 10 numere naturale: ";
cin >> a >> b;
m2=min(a,b); m1=max(a,b);
for (i=3; i<=10; ++i)
{
cin >> c;
if (c>m1)
{
m2=m1;
m1=c;
}
else
{
if (c>m2) m2=c;
}
}
cout << "doua maxime: ";
cout << m1 << " " << m2;
return 0;
}
Explicație:
sper să cunoşti funcţiile predefinite min şi max, cu care am aflat minimul şi maximul de la primele două numere introduse.
Dacă nu le cunoşti se poate înlocui
m2=min(a,b); m1=max(a,b);
şi astfel:
if (a>b)
{ m1=a; m2=b; }
else { m1=b; m2=a; }
La fiecare următor număr introdus se actualizează aceste două numere, m1 şi m2, care vor reprezenta cele două numere maxime din numerele introduse.
Dacă întrebări... întreabă şi ţi se va răspunde, succese!
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,x,y,a[101];
cin >> n;
for(int i=1; i<=n; i++)
cin >> a[i];
for( int i=1; i<n; i++)
for(int j=i+1; j<=n; j++)
if(a[i]>a[j]) swap(a[i],a[j]);
x=a[n];
y=a[n-1];
cout << x <<" " << y;
return 0;
}
Explicație: