Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.008 c
14-61774
AngeL B.
2002-11-27 17:10
2002.12.19
сколько может стоить программа?


1-61576
Levsha
2002-12-09 22:44
2002.12.19
Как изменить цвет строки в DBgrid?


3-61463
Larisa
2002-11-26 00:32
2002.12.19
Создание отчета в MS Word.


4-61887
kostik78ua
2002-11-06 09:29
2002.12.19
процессы запущенной проги


1-61605
MegaVolt
2002-12-09 09:43
2002.12.19
Создание объекта в DLLке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский