Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Вниз

Поиск в стеке   Найти похожие ветки 

 
Dublicator   (2006-03-12 21:47) [0]

Люди!!! Помогите, пожалуйста, решить задачу:
Создать стек из случайных целых чисел и определить, сколько эле-
ментов стека, начиная с вершины, находится до элемента с максимальным
значением.
Нужен сам поиск


 
Ihor Osov'yak ©   (2006-03-12 21:58) [1]

хм..
Что такое "создать" в контексте Вашего постинга?.
Далее. Решение зависит от того, можно ли решать задачу в процессе заполнения стека, или нужно решать, когда стек уже заполнен. Но в любом случае, искомое количество будет равно или однозначно определятся от индекса (или указателя - смотря какую терминологию используем) максимального элемента.
Относительно поиска. Он собственно нужен только для случая, если ищем решение уже для заполненого стека. Но даже в таком случае - поиск - не более чем последовательный перебор всех элементов - так как стек в общем случае есть неупорядочен.

зы. А строчек паскалевского кода на все это дело - ну 5-10, и  то треть из них декларации..


 
Dublicator   (2006-03-12 22:03) [2]

Стек уже заполнен. Вот мне и нужно найти максимальное значение-это главное.


 
Desdechado ©   (2006-03-12 22:46) [3]

чем стек в этом случае отличается от массива? только способом хранения
ну максимальный элемент массива найти ведь элементарно


 
Anatoly Podgoretsky ©   (2006-03-12 23:10) [4]

Нормальный стек не позволяет ни получить количество элементов, ни тем более делать в нем поиск.


 
Ihor Osov'yak ©   (2006-03-12 23:57) [5]

Ангатолий, Вы, как всегда, правы. Прошу извинение за не совсем корректный постинг..


 
Джо ©   (2006-03-13 00:06) [6]

> [4] Anatoly Podgoretsky ©   (12.03.06 23:10)
> Нормальный стек не позволяет ни получить количество элементов,
> ни тем более делать в нем поиск.

Ну, не сказано ведь, что стек, в результате поиска в нем не должен изменить свое состояние. Вполне, ИМХО, ортодоксален стек, который поддерживает определение валидности затребования очередного элемента. То есть, подсчитать кол-во элементов, бывшее в стеке, просто — поочередно вынимать из стека все значения до тех пор, пока из него есть, что вынимать. Соответственно, увеличивать счетчик... Ну, а запихнуть извлеченное в стек обратно также не проблема (если есть в этом нужда) :-)


 
Anatoly Podgoretsky ©   (2006-03-13 00:29) [7]

Джо ©   (13.03.06 00:06) [6]
И тоже с поиском, перегонять в массив :-)


 
Anatoly Podgoretsky ©   (2006-03-13 00:34) [8]

Dublicator   (12.03.06 21:47)  
Как предложил Джо решать задачу с помошью двух TStack


 
Anatoly Podgoretsky ©   (2006-03-13 00:36) [9]

Джо ©   (13.03.06 00:06) [6]
Если не брать в расчет конкретную реализацию стека, то общего решения нет, поскольку нет количество элементов.
Стандартный стек поддерживает только три операции - Peek, Pop и Push


 
Petr V. Abramov ©   (2006-03-13 01:06) [10]

> Ihor Osov"yak ©   (12.03.06 21:58) [1]
зы. А строчек паскалевского кода на все это дело - ну 5-10, и  то треть из них декларации..
 И вам сложно было их написать? вместо 8 строчек поста? ;))

> Anatoly Podgoretsky ©   (13.03.06 00:36) [9]
 А это в предвдущем семестре преподавали, так не честно ;))

> Dublicator
 Скажите, ччто конкретно затрудняет в задаче? И Вам либо с ссылок дадут, либо объяснить попытаюся. А просто код дать - никто не даст, сразу ТЗ потребуют, еще чего-нить...


 
Ihor Osov'yak ©   (2006-03-13 01:49) [11]

>  И вам сложно было их написать? вместо 8 строчек поста? ;))

Не, но не считал целесообразным.
Хотя бы потому, что мне не понятен смысл слова "создать стек" в контексте лидер-постинга, а также см. постинг [4] - то, что вследствии некоторой расслабленности я изначально не собразил...


 
Defunct ©   (2006-03-13 01:55) [12]

С точки зрения системщика, что стек, что не стек, в одно - адресуемая память. Поэтому берем указатель на вершину стека и сползаем вниз последовательно читая слова одинакового размера, одновременно с этим подсчитываем число прочитанных элементнов. Если очередной элемент будет больше предыдущего сохраненного максимального элемента, то сохраняем текущий элемент как максимальный и сохраняем его номер. Когда упремся в дно стека - поиск прекращаем, а результатом будет сохраненный номер максимального элемента - 1.


 
Dublicator   (2006-03-13 15:37) [13]

Все, спасибо. Я ее уже решил.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.036 c
2-1141837143
ctudent
2006-03-08 19:59
2006.03.26
Запись слова в массив


3-1139147979
OldNick
2006-02-05 16:59
2006.03.26
Удаленные записи в paradox


15-1141284592
КаПиБаРа
2006-03-02 10:29
2006.03.26
Каким будет программирование в 2030 году?


15-1141378859
49 Cent
2006-03-03 12:40
2006.03.26
Можно ли реализовать подобную программу?


2-1141997654
MC_GMC
2006-03-10 16:34
2006.03.26
Размещение файла в оперативке





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