Форум: "Начинающим";
Текущий архив: 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.039 c