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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2009, 17:31   #1
Chaplen89
Новичок
Джуниор
 
Регистрация: 27.10.2009
Сообщений: 2
По умолчанию Не могу найти ошибку в программе. Прошу помощи

прога не идет почему то, не могу ошибку найти. нужно чтобы прога строку в виде обратной польской записи( ну типа 2 3 +) переводила в арифметическое выражение(2 +3).
делала в делфе, в консольном приложении:
Код:
program Project1;

{$APPTYPE CONSOLE}


type chain=^elem;
elem=record
data:integer;
next:chain;
end;
var d,v:chain;
ch:string;

procedure writestack(var p:chain; x:integer);
var temp:chain;
begin
new(temp);
temp^.data:=x;
temp^.next:=p;
p:=temp;
end;


function readstack(var p:chain):integer;
var t:chain;
begin
readstack:=p^.data;
t:=p;
p:=p^.next;
dispose(t);
end;


function operation(a,b:integer; e:char):integer;
begin
case e of
'+' :оperation:=b+a;
'-' :оperation:=b-a;
'*'  :оperation:=b*a;
'/'  :оperation:=b div a;
end;
end;

function calculate(p:chain; str:string):integer;
var a,b,i,x,k:integer;
begin
for i:=1 to length(str) do
begin
val(str[i],x,k);
if (k=0) then
writestack(p,k)
else
begin
a:=readstack(p);
b:=readstack(p);
writestack(p, operation(a,b,str[i]));
end;
end;
calculate:=p^.data;
end;

begin

write('Vvedite OPZ:');
readln(ch);
write(calculate(d,ch));

end.
помогите пожалста!

Последний раз редактировалось Stilet; 28.10.2009 в 09:21.
Chaplen89 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку в программе lioshenka Общие вопросы C/C++ 5 24.08.2009 11:38
Не могу найти ошибку в программе Dawystrik Общие вопросы Delphi 9 19.03.2009 21:19
Паскаль, не могу найти ошибку в программе Julinja Помощь студентам 2 17.11.2008 20:42
Прошу помощи. Нада проверить правильность составления проги. И помочь исправить ошибку Ascor Общие вопросы C/C++ 4 03.06.2008 10:54