Исправьте ошибки в program partiii; var n, numparties, i, j, t: integer; count: array[1..10] of integer; s: string[50]; names: array[1..10] of string; begin numparties: =0; readln(n); for i: =1 to numparties do begin max: =count[i]; n: =i; for l: =1 to numparties do begin if count[l]> max then begin max: =count[l]; n: =l; end; end; if names[n]< > '' then begin writeln (names[n]); count[n]: =-1; names[n]: =''; end; end; for i: =2 to numparties do if count[i-1]> n then begin n: =count[i]; t: =i; end; writeln(names[t]) end. вот какое было , доработайте программу так, чтобы она решала следующую : 1) программа должна вывести список всех партий, встречающихся в исходном списке, в порядке убывания количества голосов, отданных за эту партию. при этом название каждой партии должно быть выведено ровно один раз, вне зависимости от того, сколько голосов было отдано за данную партию. пример выходных данных для выше примера входных данных: party three party two party one 2) на вход программы подается список, при этом некоторые голоса являются недействительными, в этом случае вместо названия партии записан один символ «.» (точка). партия проходит в парламент, если за нее отдано не менее 7% от общего числа действительных голосов (то есть от количества строк в списке, которые не равны «.»). программа должна вывести список всех партий, прошедших в парламент, в произвольном порядке. при этом название каждой партии должно быть выведено ровно один раз, вне зависимости от того, сколько голосов было отдано за данную партию.
197
197
Ответы на вопрос:
1) program partiii; var n, numparties, i, j, max: integer; count: array[1..10] of integer; names: array[1..10] of string; begin writeln('количество партий: '); read (numparties); for i: =1 to numparties do begin if names[n]< > '' then begin max: =count[i]; n : = i; for j: =2 to numparties do begin if count[j]> max then begin max : = count[j]; n: =j; end; end; writeln (names[n]); count[n] : = -1; names[n] : = ''; end; end; end; end. 2) алгоритм: вводятся данные в массив inlist. массив просматривается, при совпадении партии увеличивается счетчик. названия партий добавляются в список по мере встречаемости во входном массиве. названия с точкой тоже подсчитываются. дальше считается число действительных голосов, лпределяется процент. если больше 7 - выводится. процент недействительных голосов тоже выводится на общих основаниях. program partiii; const m=2000; var n, numparties, i, j: integer; inlist: array[1..m] of integer; //входной список s: string; n: real; t: boolean; names: array[1..10] of string; //список партий count: array[1..10] of integer; //количество голосов begin numparties : = 1; names[1] : = inlist[1]; count[1] : = 1; for i : = 2 to m do begin s : = inlist[i]; t : = false; for j: =1 to numparties do begin if s=names[j] then begin t : = true; count[j] : = count[j] + 1; end; end; if (t = false) then //партия встретилась первый раз. добавляем в список begin numparties : = numparties +1; count[numparties] : = 1; names[numparties] : = inlist[i]; end; end; for j: =1 to numparties do if names[j] < > '.' then n : = n + count[j]; //общее количество голосов без '.' for j: =1 to numparties do begin if names[j] < > '.' then begin n1 : = count[j]/n; //% по партии if n1 > = 7 then writeln (names[j]); end else begin n1 : = count[j]/n; writeln ('недействительных голосов: ', n1, ' %'); end; end; end; end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
sxpidxoznitsxa15.12.2022 14:14
-
Vakluver19.03.2022 05:13
-
artkeyn115.02.2023 21:30
-
khekkp02n6r31.12.2022 14:47
-
Еннтпшдь11.07.2021 00:46
-
darinanugmanova14.03.2020 21:05
-
schaposchnyk01.05.2020 06:50
-
Markkamm26.09.2022 14:25
-
NoName228111113.12.2022 13:10
-
Богдана20002.02.2022 01:14
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.