👤

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ăspuns :

ă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: