Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Решить задачу на c++

Задание
1. Условия задачи.
В поселке Николаевка Смидовичского района ЕАО в школе №7
расположено два избирательных участка: УИК №169 и УИК №170.
Численность участков разная, на участке №170 избирателей примерно в 1,8
раз больше. Из официальных протоколов, по двум участкам, определены
три лидирующих партии и три лидирующих кандидата в депутаты от
партий. При голосовании за партии голоса избирателей распределились
следующим образом: КПРФ (УИК №170 – 214 чел., УИК №169 – 121 чел.);
ЕР (УИК №170 – 174 чел., УИК №169 – 596 чел.); ЛДПР (УИК №170 – 104
чел., УИК №169 – 59 чел.). Результаты голосования за кандидатов от партий
выглядят следующим образом: КПРФ (УИК №170 – 162 чел., УИК №169 –
98 чел.); ЕР (УИК №170 – 174 чел., УИК №169 – 592 чел.); ЛДПР (УИК
№170 – 207 чел., УИК №169 – 99 чел.).
2. На основе знаний, полученных в предыдущем семестре, напишите на Си++
компьютерную программу, которая сможет ответить на следующие вопросы:
• Какая политическая партия и кандидат какой партии одержали победу
на выборах по официальным данным?
• Какая политическая партия, исходя из результатов исследования,
одержала победу на самом деле?
• Кандидат какой политической партии, исходя из результатов
исследования, действительно победил?
• Сколько голосов могло быть вброшено организаторами голосования на
участке 169 для победы нужной партии и нужного кандидата?

По дате
По рейтингу
Аватар пользователя
Мыслитель
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
 #include <iostream> 
#include <string> 
 
int main() { 
    // Голоса за партии 
    int votes_kprf_uik_170 = 214, votes_kprf_uik_169 = 121; 
    int votes_er_uik_170 = 174, votes_er_uik_169 = 596; 
    int votes_ldpr_uik_170 = 104, votes_ldpr_uik_169 = 59; 
 
    // Голоса за кандидатов 
    int cand_kprf_uik_170 = 162, cand_kprf_uik_169 = 98; 
    int cand_er_uik_170 = 174, cand_er_uik_169 = 592; 
    int cand_ldpr_uik_170 = 207, cand_ldpr_uik_169 = 99; 
 
    // Подсчет общего количества голосов за партии и кандидатов 
    int total_votes_kprf = votes_kprf_uik_170 + votes_kprf_uik_169; 
    int total_votes_er = votes_er_uik_170 + votes_er_uik_169; 
    int total_votes_ldpr = votes_ldpr_uik_170 + votes_ldpr_uik_169; 
 
    int total_cand_kprf = cand_kprf_uik_170 + cand_kprf_uik_169; 
    int total_cand_er = cand_er_uik_170 + cand_er_uik_169; 
    int total_cand_ldpr = cand_ldpr_uik_170 + cand_ldpr_uik_169; 
 
    // Определение победителей 
    std::string winning_party, winning_candidate; 
    int max_party_votes = std::max({total_votes_kprf, total_votes_er, total_votes_ldpr}); 
    int max_candidate_votes = std::max({total_cand_kprf, total_cand_er, total_cand_ldpr}); 
 
    if (max_party_votes == total_votes_kprf) winning_party = "КПРФ"; 
    else if (max_party_votes == total_votes_er) winning_party = "ЕР"; 
    else winning_party = "ЛДПР"; 
 
    if (max_candidate_votes == total_cand_kprf) winning_candidate = "Кандидат от КПРФ"; 
    else if (max_candidate_votes == total_cand_er) winning_candidate = "Кандидат от ЕР"; 
    else winning_candidate = "Кандидат от ЛДПР"; 
 
    // Вывод результатов 
    std::cout << "Победившая партия по официальным данным: " << winning_party << std::endl; 
    std::cout << "Победивший кандидат по официальным данным: " << winning_candidate << std::endl; 
 
    // Расчет возможного числа вброшенных голосов 
    int required_votes_for_party = votes_er_uik_169 - votes_kprf_uik_169 + 1; 
    int required_votes_for_candidate = cand_er_uik_169 - cand_kprf_uik_169 + 1; 
 
    std::cout << "Для победы партии ЕР на участке 169 могло быть вброшено голосов: " << required_votes_for_party << std::endl; 
    std::cout << "Для победы кандидата от партии ЕР на участке 169 могло быть вброшено голосов: " << required_votes_for_candidate << std::endl; 
 
    return 0; 
} 
 

Проверяй