URGENT! C++
Se citește de la tastatură un număr întreg N care reprezintă numărul de elemente dintr-un vector. În continuare, se vor citi N numere întregi. Să se salveze aceste numere într-un vector și să se calculeze Rata trecerilor prin zero ale vectorului.
Rata trecerilor prin zero reprezintă numărul de valori consecutive cu semn diferit, raportat la numărul total de valori ale vectorului. Zero este considerat număr pozitiv.
Date de intrare:
Pe prima linie N, număr întreg fără semn reprezentat pe 16 biți.
Pe a doua linie N valori întregi cu semn reprezentate pe 32 de biți.
Date de ieșire:
Rata trecerilor prin zero, valoare reală reprezentată pe 64 biți, aproximată la 2 zecimale. Aproximarea se va face utilizând următoarea linie de cod:
cout << fixed << setprecision(2) << valoare_afisata;
Exemplu:
10
78 26 -58 -84 -66 34 -73 6 85 16
0.40
Anexe:

Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
#include <iomanip>
#include <vector>
int main()
{
std::vector<long int> lista;
unsigned int n;
double rata = 0;
std::cout << "n: ";
std::cin >> n;
lista.reserve(n);
std::cout << "Lista: ";
for (int i = 0; i < n; i++) {
std::cin >> lista[i];
}
bool precedentPozitiv = lista[0] >= 0;
for (int i = 1; i < n; i++) {
if (precedentPozitiv != lista[i] >= 0) {
precedentPozitiv = lista[i] >= 0;
rata++;
}
}
rata /= n;
std::cout << "Rata: " << std::fixed << std::setprecision(2) << rata << std::endl;
}
Alte întrebări interesante
Germana,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
--- Input ---
16
35 77 -66 -71 -55 32 82 -56 26 -39 -81 -61 -16 22 28 67
--- Program output ---
0.96
--- Expected output (numbers)---
0.38