Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

Задача   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-61465
genie
2002-12-01 16:47
2002.12.19
Invalid variant type conversion ??? :`-(


4-61868
dumb
2002-11-01 12:10
2002.12.19
CoCreateInstance проблема


8-61715
Fletch
2002-09-04 15:58
2002.12.19
Как пустить на печать канву например PaintBox-а?


3-61448
Step[B.M.]
2002-11-29 21:56
2002.12.19
... устал формулировать вопрос ...


6-61745
kkv
2002-10-23 11:10
2002.12.19
пароль на $IPS при коннекте по сети