Выбрать соревнование | Задачи | Послать решение | Результаты проверки | Статистика по задачам | Вопросы и ответы | Результаты соревнования | Состояние сервера | Изменить данные | Управление командой | Помощь |
01/09/2007 | Основы программирования. Функции (43) |
Ограничения: время – 200ms/500ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите функцию Mode
, псевдокод для которой написан ниже. Для сортировки используйте функцию,
написанную для предыдущей задачи (Функции и подпрограммы 46, 35 или 36).
int n,r;
...
int a[n];
...
r=Mode(a,n);
...
В качестве решения необходимо отправлять файл, содержащий только определение функции!
Алгоритм Mode (A)
// Входные данные: Массив A[0...
// Выходные данные: Мода массива
Сортировка массива A
i larr 0 // Текущая позиция
mcount larr 0 // Максимальное количество одинаковых элементов
while i < n do
quad l en larr 1; val larr A[i]
quad while i+l en < n and A[i+l en] = val do
quad quad quad l en larr l en + 1
quad if l en > mcount
quad quad quad mcount larr l en; m ode larr val
quad i larr i+l en
return m ode