Una tienda registra las ventas de 8 dias consecutivos en un vector llamado ventas [8] Cada elemento representa el total de dinero vendido ese dia. El programa debe: Leer los 8 montos de venta (Validar que sean positivos) Mostrar El dia de mayor venta y su valor El dia de menor venta y su valor Promedio semanal Cuantos dias estuvieron por encima del promedio usando using namespace std;
Aquí te dejo el código en C++ que realiza lo que solicitas: ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<double> ventas(8); // Leer los 8 montos de venta for (int i = 0; i < 8; i++) { cout << "Ingrese la venta del día " << i + 1 << ": "; cin >> ventas[i]; // Validar que sean positivos while (ventas[i] <= 0) { cout << "Error: El monto de venta debe ser positivo. Ingrese nuevamente: "; cin >> ventas[i]; } } // Mostrar el día de mayor venta y su valor double maxVenta = *max_element(ventas.begin(), ventas.end()); int diaMax = distance(ventas.begin(), max_element(ventas.begin(), ventas.end())); cout << "El día de mayor venta fue el día " << diaMax + 1 << " con un valor de $" << maxVenta << "." << endl; // Mostrar el día de menor venta y su valor double minVenta = *min_element(ventas.begin(), ventas.end()); int diaMin = distance(ventas.begin(), min_element(ventas.begin(), ventas.end())); cout << "El día de menor venta fue el día " << diaMin + 1 << " con un valor de $" << minVenta << "." << endl; // Calcular el promedio semanal double promedio = accumulate(ventas.begin(), ventas.end(), 0.0) / ventas.size(); cout << "El promedio semanal es de $" << promedio << "." << endl; // Contar cuántos días estuvieron por encima del promedio int diasPorEncima = 0; for (double venta : ventas) { if (venta > promedio) { diasPorEncima++; } } cout << "Había " << diasPorEncima << " días en los que las ventas estuvieron por encima del promedio." << endl; return 0; } ``` Este código utiliza las siguientes funciones de la biblioteca estándar de C++: * `max_element`: devuelve un iterador al elemento máximo en un rango. * `min_element`: devuelve un iterador al elemento mínimo en un rango. * `distance`: devuelve la distancia entre dos iteradores. * `accumulate`: devuelve la suma de todos los elementos en un rango. También utiliza la función `cin` para leer los valores de entrada y la función `cout` para mostrar los resultados.