Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Стек и указатели....

Автор: markos 29.06.2005 20:15

Помогите, плиз!!!
Совсем запутался в этих укзателях...
Препод послезавтра уходит в отпуск и прощай зачёт!!!
Задача звучит так: Ввести стек значений, найти минимальное и максимальное и поменять их местами.

Автор: volvo 29.06.2005 20:19

Стек НЕ предназначен для поиска в нем элементов !!! Над стеком выполняются только 3 операции: Push(занести элемент в стек), Pop(извлечь элемент из стека) и Top(скопировать значение с верхушки стека без извлечения)... Сможешь с помощью этих операций найти минимальное и максимальное значение и еще поменять их местами? Сомневаюсь...

Так что придется уточнить, стек или все-таки список...

Автор: markos 29.06.2005 20:26

Таки да.
Наверное список...

Автор: volvo 29.06.2005 20:36

http://forum.pascal.net.ru/index.php?showtopic=2706&view=findpost&p=23570
Здесь есть модуль для работы со списками, оттуда можешь взять описание и заполнение списка. Вот тебе пример, как найти минимальный элемент:

Function FindMin(head: point): point;
Var min: Integer;
begin
FindMin := nil; min := maxInt;
While head <> nil Do Begin
If head^.number < min Then Begin
min := head^.number; FindMin := head
End;
head := head^.next
End;
end;

Результат работы этой функции - указатель на минимальный элемент в списке. По аналогии ищешь указатель на максимальный элемент и меняешь их местами.

Автор: markos 29.06.2005 20:57

А что такое maxInt?

Автор: volvo 29.06.2005 21:11

F1 нажми и узнаешь...

Автор: markos 29.06.2005 21:24

ОКsmile.gif
Спасибо!
Выручил! :D

Автор: FreeMan 2.07.2005 17:12

Стек тоже массив :D

Автор: volvo 2.07.2005 17:35

Цитата(FreeMan @ 2.07.05 13:12)
Стек тоже массив :D

То, что он реализован на массиве (у некоторых ;) ) еще не значит, что он и есть массив... В любом случае, задание - не на массивы, а на указатели... Наверное, мою фразу из 2-го поста лучше переформулировать так:
Цитата
Над стеком должны выполняться только 3 операции:
, далее - по тексту