Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
ВнизЗадача Найти похожие ветки
← →
Armageddon (2002-12-09 22:49) [0]Народ есть интерестная задача. Но проблема не в том как её решить вообще, а как решить при ограниченнии, что мы неможем создать массивы, общее количество элементов которых более 25000.Причем один массив длиной 20000 нам необходим вначале роботы для получения данных. И еще файлами пользоваться нельзя, ну и дин.памятью(дин. масссивы(во всяк случае делаемые не самостоятельно, а с использованием уже готового в Delphi) и т.д.). Вот такие пироги!!!
Буду благодарен за любую помощь.
TABLE
Пусть N - некоторое натуральное число. Рассмотрим таблицу А[1:N], содержащую целые числа из диапазона [-32768..32767], среди которых нет двух одинаковых.Найти место в таблице, где находится K-е число по убыванию (то есть такое, что ровно К-1 число в таблице больше него).
Ввод-вывод
Вы вводите с клавиатуры число N(1<=N<=20000), далее - N элементов таблицы, через пробел, а затем - число К(1<=K<=N).
Вы выводите одно число - место нахождения К-го по убыванию элемента таблицы.
Пример
Ввод> 7
Ввод> 9 5 1 2 8 6 3
Ввод> 2
Вывод< 5
))
TABLE
Пусть N - некоторое натуральное число. Рассмотрим таблицу А[1:N], содержащую целые числа из диапазона [-32768..32767], среди которых нет двух одинаковых.Найти место в таблице, где находится K-е число по убыванию (то есть такое, что ровно К-1 число в таблице больше него).
Ввод-вывод
Вы вводите с клавиатуры число N(1<=N<=20000), далее - N элементов таблицы, через пробел, а затем - число К(1<=K<=N).
Вы выводите одно число - место нахождения К-го по убыванию элемента таблицы.
Пример
Ввод> 7
Ввод> 9 5 1 2 8 6 3
Ввод> 2
Вывод< 5
← →
Sha (2002-12-09 23:18) [1]Вариант 1.
Сортируешь таблицу на месте, ползешь вдоль нее, находишь.
Вариант 2.
Ищешь максимальный с одновременным посчетом количества и запоминая положение К-того. Если найдено количество Х меньше, чем К, то аналогично ищешь субмаксимальный и т. д.
Вриант 3.
Я чего-то не понял.
← →
myor (2002-12-10 14:32) [2]k-е число от максимального или от первого числа?
ну так значит тебе нужно k-1 раз прошерстить массив,
определяя на каждом проходе максимальное число
при этом нужно определить дополнительное минимальное (для определения ближайшего)
посмотри на свой вопрос- неужели не видишь алгоритм?
Ввод> 9 5 1 2 8 6 3
Ввод> 2 (проверь по условию, это 2-й максимальный в массиве
или 2-й по убыванию от максимального)
Вывод< 5
определяешь максимальное
max=9
присваиваешь первое минимальное
min=5
перебором находишь новое минимальное
1<9 но 1<5 - не подходит
2<9 но 2<5 - не подходит
8<9 и 8>5 - подходит
новое минимальное min=8
6<9 но 6<8 - не подходит
3<9 но 3<8 - не подходит
ближайшее меньшее min=8
определяешь его место
это для 2-го максимального k=2
или тебе нужно 2-е по убыванию (в твоем примере это A[6]=6)
в любом случае, алгоритм тот же
p. s.
неужели сейчас этому уже не учат
это же информатика (даже не программирование)
а насчет условия я вообще чего-то не понял
зачем тут файлы
неужели так было написано в условии задачи
ЗАПРЕТ на использование файлов и дополнительных массивов
или препод сразу скалал, что это простенькая задачка и тут они НЕ НУЖНЫ
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c