Предмет: Информатика,
автор: firuz504
Получены результаты выборов в городскую Думу: по каждому из К округов известно число голосовавших за представителей каждой из М партий, а также известно число не участвовавших в голосовании. Выборы в округе считается состоявшимся, если в голосовании приянло участие не менее Р процентов избирателей. Определить, в каких округах был высший процент голосовавших избирателей и номера партий, получивших наибольшее число голосов в округах, где выборы считается состоявшимися. Исходная информация вводится с клавиатуры. (QBasic)
Ответы
Автор ответа:
0
INPUT "Kolichestvo okrugov. K="; k
INPUT "Kolichestvo partiy. M="; m
INPUT "Porog yavki izbirateley (v %). P="; p
DIM g(k, m + 1)
DIM pr(k, 1)
FOR i = 1 TO k
CLS
PRINT "Okrug "; i
g(i, 0) = i
FOR j = 1 TO m
PRINT "Golosov za partiyou "; j;
INPUT g(i, j)
pr(i, 1) = pr(i, 1) + g(i, j)
NEXT j
INPUT "Ne golosovalo "; g(i, m + 1)
pr(i, 0) = i
pr(i, 1) = 100 * pr(i, 1) / (pr(i, 1) + g(i, m + 1))
NEXT i
CLS
FOR i = 1 TO k
FOR j = 1 TO k
IF pr(i, 1) > pr(j, 1) THEN
x = pr(i, 1)
y = pr(i, 0)
pr(i, 1) = pr(j, 1)
pr(i, 0) = pr(j, 0)
pr(j, 1) = x
pr(j, 0) = y
END IF
NEXT j
NEXT i
PRINT "Itogi po golosovavshim"
PRINT "Okrug #", "Golosovalo (%)", "Pobedila partia #"
FOR i = 1 TO k
PRINT pr(i, 0), pr(i, 1),
IF pr(i, 1) >= p THEN
PRINT "Yes. Sostojlis",
max = 0
FOR j = 1 TO m
IF g(pr(i, 0), j) > max THEN
max = g(pr(i, 0), j)
x = j
END IF
NEXT j
PRINT x
ELSE PRINT "No. Ne sostojlis"
END IF
NEXT i
INPUT "Kolichestvo partiy. M="; m
INPUT "Porog yavki izbirateley (v %). P="; p
DIM g(k, m + 1)
DIM pr(k, 1)
FOR i = 1 TO k
CLS
PRINT "Okrug "; i
g(i, 0) = i
FOR j = 1 TO m
PRINT "Golosov za partiyou "; j;
INPUT g(i, j)
pr(i, 1) = pr(i, 1) + g(i, j)
NEXT j
INPUT "Ne golosovalo "; g(i, m + 1)
pr(i, 0) = i
pr(i, 1) = 100 * pr(i, 1) / (pr(i, 1) + g(i, m + 1))
NEXT i
CLS
FOR i = 1 TO k
FOR j = 1 TO k
IF pr(i, 1) > pr(j, 1) THEN
x = pr(i, 1)
y = pr(i, 0)
pr(i, 1) = pr(j, 1)
pr(i, 0) = pr(j, 0)
pr(j, 1) = x
pr(j, 0) = y
END IF
NEXT j
NEXT i
PRINT "Itogi po golosovavshim"
PRINT "Okrug #", "Golosovalo (%)", "Pobedila partia #"
FOR i = 1 TO k
PRINT pr(i, 0), pr(i, 1),
IF pr(i, 1) >= p THEN
PRINT "Yes. Sostojlis",
max = 0
FOR j = 1 TO m
IF g(pr(i, 0), j) > max THEN
max = g(pr(i, 0), j)
x = j
END IF
NEXT j
PRINT x
ELSE PRINT "No. Ne sostojlis"
END IF
NEXT i
Автор ответа:
0
Проверяй быстрее. Некоторое время еще можно будет внести изменения в ответ, потом - нет.
Автор ответа:
0
Я имею ввиду запускай программу на компе, смотри как работает. Так ли, как тебе надо. Текст программы проверять не надо. Он правильный. Возможно, что просто не так понято задание.
Похожие вопросы
Предмет: Английский язык,
автор: NURKAN13337
Предмет: История,
автор: ezukova290gmailcom
Предмет: Английский язык,
автор: bosenkonatali9
Предмет: Математика,
автор: merzlikin1983
Предмет: Обществознание,
автор: sidiagin32