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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2014, 08:32   #1
Imagine Dragons
 
Регистрация: 17.12.2014
Сообщений: 8
По умолчанию Динамика. Ошибка при компиляции.

Код:
program i;
uses crt; 
type
  tStek = ^rStek;
  rStek = record
    Ch: Char;
    Next: tStek;
  end;

var
  Stek : tStek;

begin

  Stek := nil;


  begin
procedure Push(Ch : Char);
var
  Cur : tStek;
begin
  New(Cur);
  Cur^.Ch := Ch;
  Cur^.Next := Stek;
  Stek := Cur;
end;

function Pop : Ch;
var
  Cur : tStek;
begin
  if Stek = nil then
    Pop := #0
  else
    begin
      Pop := Stek^.Ch;
      Cur := Stek;
      Stek := Stek^.Next;
      Dispose(Cur);
    end;
end;
ReadLn(maxCh);
Assign(F, 'file.txt');
Reset(F);
while Not EOF(F) do
  begin
    ReadLn(F, Str);
    for i := 1 to Length(Str) do
      if Str[i] > maxCh then
       Push(Str[i]);
  end;
Close(F);
readln;
end.
В чем может быть ошибка?
Imagine Dragons вне форума Ответить с цитированием
Старый 24.12.2014, 08:50   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В том, что текст сообщения об ошибке не приводишь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.12.2014, 08:55   #3
Imagine Dragons
 
Регистрация: 17.12.2014
Сообщений: 8
По умолчанию

Illegal expression
Imagine Dragons вне форума Ответить с цитированием
Старый 24.12.2014, 09:03   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Это что за ужас, летящий на крыльях ночи?!!

Цитата:
Код:
begin   <<<<<- допустим, это начало тела основной программы
  Stek := nil;


  begin  <<<--- что за BEGIN ?! зачем он здесь?!

procedure Push(Ch : Char);  <<--- а это что?! В ТЕЛЕ программы НЕЛЬЗЯ описывать процедуры!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.12.2014, 09:09   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

восстановил структуру и закомментировал код, который не откомпилируется, т.к. НЕ ОПИСАНЫ переменные.

получилось такое:
Код:
program i;
uses crt;
type
  tStek = ^rStek;
  rStek = record
    Ch: Char;
    Next: tStek;
  end;

var
  Stek : tStek;

procedure Push(Ch : Char);
var
  Cur : tStek;
begin
  New(Cur);
  Cur^.Ch := Ch;
  Cur^.Next := Stek;
  Stek := Cur;
end;

function Pop : Char;
var
  Cur : tStek;
begin
  if Stek = nil then
    Pop := #0
  else
    begin
      Pop := Stek^.Ch;
      Cur := Stek;
      Stek := Stek^.Next;
      Dispose(Cur);
    end;
end;


begin
  Stek := nil;
{  ReadLn(maxCh);
  Assign(F, 'file.txt');
  Reset(F);
  while Not EOF(F) do
    begin
      ReadLn(F, Str);
      for i := 1 to Length(Str) do
        if Str[i] > maxCh then
         Push(Str[i]);
    end;
  Close(F);
  readln; }
end.
А ещё, если есть вызов процедуры помещения символа в стек Push, почему нет вызова процедуры Pop, чтобы извлечь из стека помещённую туда информацию?
"ваша" программа банально НИЧЕГО не выведет в качестве результата...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.12.2014, 09:10   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Там все не правильно, копипасте без мысли
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при компиляции Student_2009 Общие вопросы C/C++ 10 22.03.2013 01:15
ошибка при компиляции chircov090993 Общие вопросы Delphi 5 15.04.2012 21:39
Ошибка при компиляции. Rin Общие вопросы C/C++ 14 07.10.2011 20:34
ошибка при компиляции xreal C# (си шарп) 2 05.05.2011 01:43
Ошибка при компиляции Коля-Коля Общие вопросы Delphi 0 09.09.2010 18:38