#include <iostream>
#include <array>
#include <numeric> // Para usar std::accumulate
int main() {
const int NUM_VENDEDORES = 3;
const int NUM_DIAS = 7;
int sueldo_base = 800;
std::array<int, 3> bonificaciones = {25, 45, 70};
std::array<std::array<int, NUM_DIAS>, NUM_VENDEDORES> ventas;
std::array<std::array<int, NUM_DIAS>, NUM_VENDEDORES> sueldos;
std::array<int, NUM_VENDEDORES> sueldos_totales;
// Leer ventas
for (int vendedor = 0; vendedor < NUM_VENDEDORES; ++vendedor) {
std::cout << "Vendedor " << vendedor + 1 << ":\n";
for (int dia = 0; dia < NUM_DIAS; ++dia) {
std::cout << " Ingrese las ventas del día " << dia + 1 << ": ";
std::cin >> ventas[vendedor][dia];
}
}
// Calcular sueldos diarios y totales
for (int vendedor = 0; vendedor < NUM_VENDEDORES; ++vendedor) {
int sueldo_total_vendedor = 0;
for (int dia = 0; dia < NUM_DIAS; ++dia) {
int ventas_dia = ventas[vendedor][dia];
int bonificacion = 0;
if (ventas_dia >= 3 && ventas_dia <= 8) {
bonificacion = ventas_dia * bonificaciones[0];
} else if (ventas_dia >= 9 && ventas_dia <= 12) {
bonificacion = ventas_dia * bonificaciones[1];
} else if (ventas_dia >= 13 && ventas_dia <= 18) {
bonificacion = ventas_dia * bonificaciones[2];
}
sueldos[vendedor][dia] = sueldo_base + bonificacion;
sueldo_total_vendedor += sueldos[vendedor][dia];
}
sueldos_totales[vendedor] = sueldo_total_vendedor;
}
// Ordenar sueldos totales de mayor a menor (Bubble Sort)
for (int i = 0; i < NUM_VENDEDORES - 1; ++i) {
for (int j = 0; j < NUM_VENDEDORES - i - 1; ++j) {
if (sueldos_totales[j] < sueldos_totales[j + 1]) {
// Intercambiar sueldos totales
std::swap(sueldos_totales[j], sueldos_totales[j + 1]);
// Intercambiar datos de vendedores (opcional, para mantener la correspondencia)
std::swap(ventas[j], ventas[j + 1]);
std::swap(sueldos[j], sueldos[j+1]);
}
}
}
// Mostrar resultados ordenados
std::cout << "\nSueldos semanales por vendedor (ordenados de mayor a menor):\n";
for (int vendedor = 0; vendedor < NUM_VENDEDORES; ++vendedor) {
std::cout << "Vendedor " << vendedor + 1 << ":\n";
for (int dia = 0; dia < NUM_DIAS; ++dia) {
std::cout << " Día " << dia + 1 << ": Sueldo = " << sueldos[vendedor][dia] << std::endl;
}
std::cout << " Sueldo total semanal: " << sueldos_totales[vendedor] << std::endl;
}
return 0;
}