IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Разобраться с кодом
Dower
сообщение 3.4.2011, 5:19
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 4
Регистрация: 3.4.2011
Город: Йошкар-Ола
Вы: студент



Помогите разобраться с кодом задачи на Turbo Pascal.

Задача. Дан указатель P1 на вершину стека (если стек пуст, то P1=NIL). Извлеч из стека все элементы и вывести их значения. Вывести также количество известных элементов N (для пустого стека вывести 0). после извлечения элементов из стека освобождать память которую они занимали.

Нашел решение, вот код:
Код
uses crt;
type PSTRC=^Strc;
     Strc=record
     inf:integer;
     ptr:Pstrc;
end;
var S1,s2:PSTRC;
    i,k,g,p:integer;
    err:boolean;
    a:array [1..20] of integer;
Procedure Dop(var S:Pstrc;dat:integer);
var nov:Pstrc;
begin
New(nov);
nov^.inf:=dat;
nov^.Ptr:=s;
S:=nov;
end;
Function Ud(var S:Pstrc; var err:boolean):integer;
var old:Pstrc;
begin
if s<>Nil then
  begin
   old:=S;
   S:=S^.ptr;
   Ud:=old^.inf;
   dispose(old);
   err:=false
  end
else
  begin
   Ud:=0;
   err:=true
  end
end;
Function Cht(s:PSTRC; var err:boolean):integer;
begin
if s<>Nil then
begin
  write('inf=',s^.inf:3);
  err:=false;
  Cht:=s^.inf;
end
else begin
      writeln('stack pust');
      err:=True;
      cht:=0;
     end;
end;
BEGIN
clrscr;
i:=1;
k:=1;
while k<>0 do
  begin
   readln(k);
   Dop(s1,k);
  end;
while s1<>Nil do
  begin
   a[i]:=Ud(s1,err);
   inc(i);
  end;
for k:=i downto 1 do
  dop(s2,a[k]);
for k:=1 to i do
  writeln(ud(s2,err));
readln;
END.


Не могли бы вы проверить правильно ли он работает и помочь с ним разобраться, нужны хотябы самые общие комментарии по коду.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Dower
сообщение 4.4.2011, 2:43
Сообщение #2


Новичок
*

Группа: Продвинутые
Сообщений: 4
Регистрация: 3.4.2011
Город: Йошкар-Ола
Вы: студент



Неужели никто не знает?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Dower
сообщение 9.4.2011, 13:04
Сообщение #3


Новичок
*

Группа: Продвинутые
Сообщений: 4
Регистрация: 3.4.2011
Город: Йошкар-Ола
Вы: студент



Очень нужна ваша помощь, сам разобраться не могу.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 28.5.2025, 12:02

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru