Răspuns :
Răspuns:
#include <iostream>
using std::cout, std::cin, std::endl;
static int *creareVector(const size_t &nrElemente)
{
int *pVector = new int[nrElemente];
for (size_t i = 0; i < nrElemente; ++i)
{
cout << "Introdu numarul (pozitiv/negativ) >> ";
cin >> pVector[i];
}
return pVector;
}
static void calculSumaSiMedie(int *pVector, const size_t &nrElemente)
{
int sumaNrNeg{};
double sumaMedie{}, contorNumere{};
for (size_t i = 0; i < nrElemente; i++)
{
if (pVector[i] < 0)
sumaNrNeg += pVector[i];
if (pVector[i] >= 0)
{
sumaMedie += pVector[i];
++contorNumere;
}
}
cout << "Suma numerelor negative este " << sumaNrNeg << " iar media aritmetica a numerelor pozitive este "
<< sumaMedie / contorNumere << endl;
}
int main()
{
size_t nrElemente;
cout << "Introdu n (de ex 5) >> ";
cin >> nrElemente;
int *pVector = creareVector(nrElemente);
calculSumaSiMedie(pVector, nrElemente);
delete[] pVector;
return 0;
}
Explicație:
Citești numărul de elemente din vector, aloci dinamic un vector de N elemente ( de asta se ocupă funcția creareVector(...) ).
După ce ai alocat și ai adăugat elementele-n vector îl parcurgi.
Dacă elementul curent e mai mic decât 0 ( dacă e negativ ) pracatic îl aduni la o sumă.
Dacă acesta e mai mare sau egal decât 0 ( dacă e pozitiv ) îl adaugi la o sumă ( din nou ) și ți minte câte elemente ai pozitive ( ca să calculezi la final media aritmetică a numerelor ).
La final afișezi suma elementelor negative și media aritmetică a celor pozitive.
De cele menționate mai sus se ocupă funcția calculSumaSiMedie(...).
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!