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

8. Scrieți un program Pascal/C/C++ care citeşte un număr natural nenul par, n,
n<100 şi apoi n numere naturale de cel mult 4 cifre fiecare şi determină cea
mai mare suma care poate fi obtinutá adunánd numai o jumatate din toate
numerele citite. Rezultatul se va afişa pe ecran. De exemplu, pentru n=6 şi
numerele 728,10,103,44,1000,94 se va afişa 1831 (reprezentând suma:
728+103+1000)​

Răspunsuri la întrebare

Răspuns de luys2007
1

Răspuns:

#include <iostream>

using namespace std;

void ordonare(int a[], unsigned n)

{

   int aux;

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

   {

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

       {

           if (a[i] < a[j])

           {

               aux = a[i];

               a[i] = a[j];

               a[j] = aux;

           }

       }

   }

}

int main()

{

   int n, S = 0;

   int a[100];

   cout << "n:";

   cin >> n;

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

   {

       cout << "Introduceti numarul:";

       cin >> a[i];

   }

   ordonare(a, n);

   for (int i = 0; i < n / 2; i++)

   {

       S += a[i];

   }

   cout << "Suma este:" << S;

}


masteroffmath: codul merge, insa poti explica putin cam cum ai gandit??
luys2007: Scuze de intarziere.. Pai am citit numerele si le-am salvat intr-un vector dupa subprogramul ordonare ordoneaza numerele de la mare la mic iar in ultimul for adun primele n/2 numere adica obtii suma ce-a mai mare folosind doar jumate din numere
Alte întrebări interesante