Главная страница
    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.009 c
1-61588
Balu
2002-12-10 11:43
2002.12.19
RE(2) Разное поведение Variant в D5 и D6


3-61476
victor_ch
2002-12-02 11:56
2002.12.19
Уменьшение потребления памяти


1-61692
Redscotch
2002-12-08 19:36
2002.12.19
Окно


3-61458
Shadow
2002-12-01 14:38
2002.12.19
DBISORTTABLE


8-61711
YuN
2002-09-04 15:53
2002.12.19
Как проще всего проиграть звуковой файл?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский