IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача на записи
Merlin
сообщение 29.10.2005 13:53
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Ден

Репутация: -  0  +


Даны итоги выборов в Думу города. По "К" округам известно число голосовавших за представителей "М" партий. Считая, что от каждого округа в Думу проходит по одному представителю, составить алгоритм и программу, которые определяют, какая партия провела наибольшее число своих кандидатов (предполагая, что все кандидаты набрали разное число голосов).

Никак не могу понять что найти нужно и как это сделать.

М
Заголовок темы должен быть информативным, в следующий раз будет предупреждение
klem4



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
volvo
сообщение 29.10.2005 14:20
Сообщение #2


Гость






Цитата
Никак не могу понять что найти нужно и как это сделать.

Твоя задача состоит в следующем: у тебя есть 2-х мерный массив (матрица) размером K строк на M столбцов (Results), в которой записаны результаты голосований, и массив (Party) из M элементов, для хранения данных о каждой партии.

Что нужно сделать? Для каждого округа (строки) матрицы Results находишь позицию, в которой находится максимальный элемент. Допустим, это PosMax... Значит, кандидат от этой партии избран. Тогда в массиве увеличиваешь элемент Party[PosMax] на единицу... Когда перебрал все строки, просто находишь макс. элемент в Party, его индекс и будет ответом на задачу...
 К началу страницы 
+ Ответить 
Merlin
сообщение 31.10.2005 17:00
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Ден

Репутация: -  0  +


Можешь показать на примере, я массивы ещё не проходил ?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 31.10.2005 17:22
Сообщение #4


Гость






Могу, конечно, но вообще-то такие задачи без знания массивов решить трудно... wink.gif
const
K = 5;
M = 4;

Results: array[1 .. K, 1 .. M] of integer =
(
(2, 5, 3, 4),
(7, 6, 5, 2),
(4, 7, 2, 5),
(1, 3, 5, 7),
(2, 8, 6, 3)
);



var
Party: array[1 .. M] of integer;
i, j: integer;
maxParty, PosMax: integer;
begin
for i := 1 to K do begin

PosMax := 1;
for j := 2 to M do
if Results[i, j] > Results[i, PosMax]
then PosMax := j;
Inc(Party[PosMax]);

end;
maxParty := 1;
for i := 2 to M do
if Party[i] > Party[maxParty]
then maxParty := i;

WriteLn('Party #', maxParty);
end.
 К началу страницы 
+ Ответить 
Merlin
сообщение 6.11.2005 15:11
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Ден

Репутация: -  0  +


1.А можнно задать массив через randomize в этой задаче ?

2. Или вот так : matrix = array[1..NN] of array[1..MM] of integer ?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.11.2005 15:21
Сообщение #6


Гость






To: Merlin
Ну, делай как тебе нравится, что же ты тогда помочь-то тебе просишь? dry.gif Ты уже тогда все требования пиши: массив задается через Randomize + пользоваться только формой
Array[ .. ] of Array [ .. ] of ;
+ все остальное. Тебе не угодишь...
 К началу страницы 
+ Ответить 
Merlin
сообщение 6.11.2005 17:57
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Ден

Репутация: -  0  +


А что нужно подписать в программе, чтобы результат видно было ?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 7.11.2005 5:48
Сообщение #8


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


Подпиши в конце программы
Код
readln;
. Тогда после вывода результата на экран программы будет ждать нажатия Enter для завершения работы
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 7.11.2005 10:41
Сообщение #9


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


или после завершения работы прораммы нажми alt+F5 ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 6:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"