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

C++
Se citeşte de la tastatură numărul n,urmat de n valori raționale, reprezentand veniturile pentru n săptămâni consecutive.
Date de ieşire
Programul va afişa pe ecran venitul mediu al fiecărei luni. Pentru simplitate, considerăm că fiecare lună e formată din exact 4
saptamani consecutive.
Valorile afişate vor fi separate prin spații.
Restrictii şi precizari
0 •0<=venitul din fiecare saptamana<=100
• n este un numar natural divizibil cu 4
• in problema vom considera că fiecare lună are exact 4 săptămâni
•prima valoare din şirul de venituri săptămânale va corespunde întotdeauna primei săptămâni din lună.
• Veniturile săptámánale sunt numere raționale cu cel mult 3 zecimale.
• rezultatul se va afisa cu exact 3 zecimale după virgulă. Pentru a afişa exact 3 zecimale poţi folosi funcţia setprecision.
Exemplu
Date de intrare
8
147.16 258.87 875.19 787.13 421.99 147 257 665.6
Date de iesire 517.087 372.898

Răspunsuri la întrebare

Răspuns de Apollyon
0

Răspuns:

#include <iomanip>

#include <iostream>

using std::cout, std::cin, std::endl, std::setprecision;

int main() {

 int n, j{};

 double venitulCurent, sumaVeniturilor{}, *veniturileMedii;

 // citim N-ul

 cout << "Introdu N >> ";

 cin >> n;

// Dacă N nu este divizibil cu 4 ieșim din program

 if (n % 4 != 0) exit(EXIT_FAILURE);

 // Creăm un vector de N / 4 elemente pentru a salva veniturile medii

 veniturileMedii = new double[static_cast<size_t>(n) / 4];

 // Citim N venituri

 for (int i = 1; i <= n; i++) {

   cout << "Introdu venitul >> ";

   cin >> venitulCurent;

   // Venitul citit îl adăugăm la o sumă

   sumaVeniturilor += venitulCurent;

   // Când am introdus 4 venituri

   if (i % 4 == 0) {

     // Venitul mediu îl adăugăm în vector

     veniturileMedii[j++] = sumaVeniturilor / 4;

    // și resetăm suma

     sumaVeniturilor = 0;

   }

 }

 // Setăm precizia la 6 pentru a afișa strict cu 3 decimale

 cout << setprecision(6);

 // Afișăm veniturile medii

 for (int i = 0; i < (n / 4); ++i) cout << veniturileMedii[i] << " ";

 cout << endl;

// Și la final eliberăm memoria alocată

 delete[] veniturileMedii;

 return 0;

}

Alte întrebări interesante