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

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)


ana1301popescu: Și ce trebuie mai exact sa afli ? Nu mai ai și alte informați ?
boiustef: păi e scris... "afisam cele mai mari 2 numere"

Răspunsuri la întrebare

Răspuns de boiustef
1

ă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 de cdrh
1

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:

Alte întrebări interesante