Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2010, 22:54   #1
pa6kevi4
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 52
Счастье Стек.

Компилятор выдаёт ошибку 121 - Invalid qualifier.
Перемещает курсор на место, которое я выделил.
В чём дело?

Код:
uses crt;

type
  Stack=^TStack;
  TStack=record
   Elem:integer;
   NextElem:Stack
  end;

procedure CreateStack (var StackHead: Stack);
 begin
  StackHead:=nil;
 end;

procedure IncludeInStack(var StackHead: Stack; NewElem: integer);
var ServiceVar:Stack;
 begin
  new(ServiceVar);
  ServiceVar^.Elem:=NewElem;
  ServiceVar^.NextElem:=StackHead;
  StackHead:=ServiceVar
 end;


procedure SelectFromStack(var StackHead: Stack);
var ServiceVar:Stack;
 begin
  if StackHead <> nil then
   begin
    ServiceVar:=StackHead;
    StackHead:=StackHead^.NextElem;
    dispose(ServiceVar)
   end
 end;

procedure print(const pvect : Stack; const pn : integer);
var i : integer;
 begin
    if(pn = 0) then
        writeln('Pechat nevozmozna! Stack pust!')
    else
    begin
        write('Stack imeet vid: ');
        for i := 1 to pn do write(pvect[i]:5);
    end;
 end;


var sh:Stack;
    n:integer;

begin
 clrscr;

 CreateStack(sh);
 IncludeInStack(sh,1);
 IncludeInStack(sh,2);
 IncludeInStack(sh,3);

 for n:=1 to 3 do
  begin
   SelectFromStack(sh);
  end;

  print(sh,2);

 readln;
end.
pa6kevi4 вне форума Ответить с цитированием
Старый 11.03.2010, 22:59   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вас pvect какого типа?не массив же.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.03.2010, 09:07   #3
pa6kevi4
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 52
По умолчанию

Спасибо. А как тогда вывести стек на экран?
pa6kevi4 вне форума Ответить с цитированием
Старый 12.03.2010, 09:12   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от pa6kevi4 Посмотреть сообщение
Спасибо. А как тогда вывести стек на экран?
Для этого Вам нужно сделать функцию извлечения значения элемента из стека. И потом пройтись по нему до конца.

ЗЫ. Дались Вам эти указатели? Гораздо меньше всяких болячек на пятой точке при использовании динамического массива в качестве стека. Половина операций проводиться автоматически без Вашего участия.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.03.2010, 10:56   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

разьве это стек? у стека есть методы push и pop(вставить в начало и удалить с конца) мб они у вас тут просто под другим именем обозначены
NiCola999 вне форума Ответить с цитированием
Старый 12.03.2010, 15:38   #6
pa6kevi4
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 52
По умолчанию

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
разьве это стек? у стека есть методы push и pop(вставить в начало и удалить с конца) мб они у вас тут просто под другим именем обозначены
ага .
pa6kevi4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек С++ Верунчик Помощь студентам 3 28.09.2011 08:39
C++ и стек MaGWaY_minsk Помощь студентам 1 11.11.2009 01:08
стек в PM vladimir0108 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 08.01.2009 01:18
СТЕК KORT Фриланс 3 08.09.2008 23:38