#include <iostream>
#include <string>
using namespace std;
// Estructura para guardar datos de cada venta diaria por vendedor
struct VentaDiaria {
string vendedor;
float ventas;
} ;
// Estructura para guardar sueldo total por vendedor
struct SueldoTotal {
string vendedor;
float sueldo;
} ;
int main( ) {
// 1. Arreglo de ventas por día (7 días) - arreglo 2D de VentaDiaria
// Cada día tiene hasta 3 vendedores (ajustable si es necesario)
const int DIAS_SEMANA = 7 ;
const int MAX_VENDEDORES_POR_DIA = 3 ; VentaDiaria
ventasPorDiaSemana[ DIAS_SEMANA] [ MAX_VENDEDORES_POR_DIA] = {
// Lunes
{ { "María" , 1500 } , { "Juan" , 2000 } , { "Luis" , 1800 } } ,
// Martes
{ { "María" , 1800 } , { "Juan" , 1600 } , { "Luis" , 2100 } } ,
// Miércoles
{ { "María" , 2200 } , { "Juan" , 1900 } , { "Luis" , 1700 } } ,
// Jueves
{ { "María" , 1700 } , { "Juan" , 2100 } , { "Luis" , 1900 } } ,
// Viernes
{ { "María" , 2500 } , { "Juan" , 2300 } , { "Luis" , 2200 } } ,
// Sábado
{ { "María" , 1900 } , { "Juan" , 1800 } , { "Luis" , 2000 } } ,
// Domingo
{ { "María" , 1600 } , { "Juan" , 1700 } , { "Luis" , 1600 } }
} ;
// 2. Calcular suma de ventas y sueldo total por vendedor
const int CANTIDAD_VENDEDORES = 3 ; SueldoTotal
sueldos[ CANTIDAD_VENDEDORES] = { { "María" , 0 } , { "Juan" , 0 } , { "Luis" , 0 } } ;
const float SUELDO_BASE = 5000 ;
// Recorrer cada día y cada venta
for ( int i = 0 ; i < DIAS_SEMANA; i++ ) {
for ( int j = 0 ; j < MAX_VENDEDORES_POR_DIA; j++ ) {
string nombre = ventasPorDiaSemana[ i] [ j] .vendedor ;
float monto = ventasPorDiaSemana[ i] [ j] .ventas ;
// Sumar ventas al vendedor correspondiente
if ( nombre == "María" ) sueldos[ 0 ] .sueldo + = monto;
else if ( nombre == "Juan" ) sueldos[ 1 ] .sueldo + = monto;
else if ( nombre == "Luis" ) sueldos[ 2 ] .sueldo + = monto;
}
}
// Agregar sueldo base
for ( int i = 0 ; i < CANTIDAD_VENDEDORES; i++ ) {
sueldos[ i] .sueldo + = SUELDO_BASE;
}
// 3. Ordenar con método burbuja (mayor a menor)
for ( int i = 0 ; i < CANTIDAD_VENDEDORES - 1 ; i++ ) {
for ( int j = 0 ; j < CANTIDAD_VENDEDORES - 1 - i; j++ ) {
// Intercambiar si el sueldo actual es menor que el siguiente
if ( sueldos[ j] .sueldo < sueldos[ j + 1 ] .sueldo ) {
SueldoTotal temp = sueldos[ j] ;
sueldos[ j] = sueldos[ j + 1 ] ;
sueldos[ j + 1 ] = temp;
}
}
}
// 4. Mostrar resultado
cout << "Sueldos totales (ordenados por método burbuja - mayor a menor):" << endl;
for ( int i = 0 ; i < CANTIDAD_VENDEDORES; i++ ) {
cout << "Vendedor: " << sueldos[ i] .vendedor
<< " | Sueldo total: $" << sueldos[ i] .sueldo << endl;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRXN0cnVjdHVyYSBwYXJhIGd1YXJkYXIgZGF0b3MgZGUgY2FkYSB2ZW50YSBkaWFyaWEgcG9yIHZlbmRlZG9yCnN0cnVjdCBWZW50YURpYXJpYSB7CnN0cmluZyB2ZW5kZWRvcjsKZmxvYXQgdmVudGFzOwp9OwoKLy8gRXN0cnVjdHVyYSBwYXJhIGd1YXJkYXIgc3VlbGRvIHRvdGFsIHBvciB2ZW5kZWRvcgpzdHJ1Y3QgU3VlbGRvVG90YWwgewpzdHJpbmcgdmVuZGVkb3I7CmZsb2F0IHN1ZWxkbzsKfTsKCmludCBtYWluKCkgewogICAgLy8gMS4gQXJyZWdsbyBkZSB2ZW50YXMgcG9yIGTDrWEgKDcgZMOtYXMpIC0gYXJyZWdsbyAyRCBkZSBWZW50YURpYXJpYQogICAgLy8gQ2FkYSBkw61hIHRpZW5lIGhhc3RhIDMgdmVuZGVkb3JlcyAoYWp1c3RhYmxlIHNpIGVzIG5lY2VzYXJpbykKY29uc3QgaW50IERJQVNfU0VNQU5BID0gNzsKY29uc3QgaW50IE1BWF9WRU5ERURPUkVTX1BPUl9ESUEgPSAzOyBWZW50YURpYXJpYQp2ZW50YXNQb3JEaWFTZW1hbmFbRElBU19TRU1BTkFdW01BWF9WRU5ERURPUkVTX1BPUl9ESUFdID0gewogICAgICAgIC8vIEx1bmVzCiAgICAgICAge3siTWFyw61hIiwgMTUwMH0sIHsiSnVhbiIsIDIwMDB9LCB7Ikx1aXMiLCAxODAwfX0sCiAgICAgICAgLy8gTWFydGVzCiAgICAgICAge3siTWFyw61hIiwgMTgwMH0sIHsiSnVhbiIsIDE2MDB9LCB7Ikx1aXMiLCAyMTAwfX0sCiAgICAgICAgLy8gTWnDqXJjb2xlcwogICAgICAgIHt7Ik1hcsOtYSIsIDIyMDB9LCB7Ikp1YW4iLCAxOTAwfSwgeyJMdWlzIiwgMTcwMH19LAogICAgICAgIC8vIEp1ZXZlcwogICAgICAgIHt7Ik1hcsOtYSIsIDE3MDB9LCB7Ikp1YW4iLCAyMTAwfSwgeyJMdWlzIiwgMTkwMH19LAogICAgICAgIC8vIFZpZXJuZXMKICAgICAgICB7eyJNYXLDrWEiLCAyNTAwfSwgeyJKdWFuIiwgMjMwMH0sIHsiTHVpcyIsIDIyMDB9fSwKICAgICAgICAvLyBTw6FiYWRvCiAgICAgICAge3siTWFyw61hIiwgMTkwMH0sIHsiSnVhbiIsIDE4MDB9LCB7Ikx1aXMiLCAyMDAwfX0sCiAgICAgICAgLy8gRG9taW5nbwogICAgICAgIHt7Ik1hcsOtYSIsIDE2MDB9LCB7Ikp1YW4iLCAxNzAwfSwgeyJMdWlzIiwgMTYwMH19CiAgICB9OwoKICAgIC8vIDIuIENhbGN1bGFyIHN1bWEgZGUgdmVudGFzIHkgc3VlbGRvIHRvdGFsIHBvciB2ZW5kZWRvcgpjb25zdCBpbnQgQ0FOVElEQURfVkVOREVET1JFUyA9IDM7IFN1ZWxkb1RvdGFsIApzdWVsZG9zW0NBTlRJREFEX1ZFTkRFRE9SRVNdID0ge3siTWFyw61hIiwgMH0sIHsiSnVhbiIsIDB9LCB7Ikx1aXMiLCAwfX07CmNvbnN0IGZsb2F0IFNVRUxET19CQVNFID0gNTAwMDsKCiAgICAvLyBSZWNvcnJlciBjYWRhIGTDrWEgeSBjYWRhIHZlbnRhCmZvciAoaW50IGkgPSAwOyBpIDwgRElBU19TRU1BTkE7IGkrKykgewpmb3IgKGludCBqID0gMDsgaiA8IE1BWF9WRU5ERURPUkVTX1BPUl9ESUE7IGorKykgewpzdHJpbmcgbm9tYnJlID0gdmVudGFzUG9yRGlhU2VtYW5hW2ldW2pdLnZlbmRlZG9yOwpmbG9hdCBtb250byA9IHZlbnRhc1BvckRpYVNlbWFuYVtpXVtqXS52ZW50YXM7CgogICAgICAgICAgICAvLyBTdW1hciB2ZW50YXMgYWwgdmVuZGVkb3IgY29ycmVzcG9uZGllbnRlCmlmIChub21icmUgPT0gIk1hcsOtYSIpIHN1ZWxkb3NbMF0uc3VlbGRvICs9IG1vbnRvOwplbHNlIGlmIChub21icmUgPT0gIkp1YW4iKSBzdWVsZG9zWzFdLnN1ZWxkbyArPSBtb250bzsKZWxzZSBpZiAobm9tYnJlID09ICJMdWlzIikgc3VlbGRvc1syXS5zdWVsZG8gKz0gbW9udG87CiAgICAgICAgfQogICAgfQoKICAgIC8vIEFncmVnYXIgc3VlbGRvIGJhc2UKZm9yIChpbnQgaSA9IDA7IGkgPCBDQU5USURBRF9WRU5ERURPUkVTOyBpKyspIHsKICAgICAgICBzdWVsZG9zW2ldLnN1ZWxkbyArPSBTVUVMRE9fQkFTRTsKICAgIH0KCiAgICAvLyAzLiBPcmRlbmFyIGNvbiBtw6l0b2RvIGJ1cmJ1amEgKG1heW9yIGEgbWVub3IpCmZvciAoaW50IGkgPSAwOyBpIDwgQ0FOVElEQURfVkVOREVET1JFUyAtIDE7IGkrKykgewpmb3IgKGludCBqID0gMDsgaiA8IENBTlRJREFEX1ZFTkRFRE9SRVMgLSAxIC0gaTsgaisrKSB7CiAgICAgICAgICAgIC8vIEludGVyY2FtYmlhciBzaSBlbCBzdWVsZG8gYWN0dWFsIGVzIG1lbm9yIHF1ZSBlbCBzaWd1aWVudGUKaWYgKHN1ZWxkb3Nbal0uc3VlbGRvIDwgc3VlbGRvc1tqICsgMV0uc3VlbGRvKSB7ClN1ZWxkb1RvdGFsIHRlbXAgPSBzdWVsZG9zW2pdOwogICAgICAgICAgICAgICAgc3VlbGRvc1tqXSA9IHN1ZWxkb3NbaiArIDFdOwogICAgICAgICAgICAgICAgc3VlbGRvc1tqICsgMV0gPSB0ZW1wOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8vIDQuIE1vc3RyYXIgcmVzdWx0YWRvCmNvdXQ8PCAiU3VlbGRvcyB0b3RhbGVzIChvcmRlbmFkb3MgcG9yIG3DqXRvZG8gYnVyYnVqYSAtIG1heW9yIGEgbWVub3IpOiIgPDxlbmRsOwpmb3IgKGludCBpID0gMDsgaSA8IENBTlRJREFEX1ZFTkRFRE9SRVM7IGkrKykgewpjb3V0PDwgIlZlbmRlZG9yOiAiIDw8IHN1ZWxkb3NbaV0udmVuZGVkb3IgCjw8ICIgfCBTdWVsZG8gdG90YWw6ICQiIDw8IHN1ZWxkb3NbaV0uc3VlbGRvIDw8ZW5kbDsKICAgIH0KCnJldHVybiAwOwp9