Diễn Đàn Pascal
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Check giúp mình lỗi trong code này với !

Go down

Check giúp mình lỗi trong code này với ! Empty Check giúp mình lỗi trong code này với !

Bài gửi by mamap0511 27/3/2011, 10:07 pm

đề bài :cài đặt bài toán tính biều thức bằng giải thuật tính giá trị biểu thức bằng ký pháp nghịch đảo..
Mình làm thử rồi những vẩn không được. Pro nào giúp mình check lỗi trong này với.Thanks nhiều lắm.


program kyphapnghichdao;
type kieu_stack = array[1..100] of 0..1;
var BT:string[30];
S:kieu_stack;
top, i, so1, so2, n, x :interger;

Procedur PUSH(var s: kieustack;var top: integer;x:integer);
begin
if top=n then
writeln('s day')
else
begin
top:= top +1;
s[top] :=x;
end;
end;

Function pop(s, var top:integer): integer;
begin
if top>0 then
begin
pop:=s[top];
top:=top-1;
end;
else
writeln('stack day');
end;

Function tinh_bt()bt:string): real;
begin
for i:=1 to legth(bt) do
begin
case bt[i] of
[+]:begin
so1:= pop(s, top);
so2:= pop(s, top);
push(s,top, so1+so2);
end;
[-]:begin
so1:= pop(s, top);
so2:= pop(s, top);
push(s,top, so1-so2);
end;
[*]:begin
so1:= pop(s, top);
so2:= pop(s, top);
push(s,top, so1*so2);
end;
[/]:begin
so1:= pop(s, top);
so2:= pop(s, top);
push(s,top, so1/so2);
end;
else
begin
val(bt[i],n,e);
push(s, top, n);
end;
end;
tinh_bt:=pop(s, top);
end;

begin
write('nhap bt hau to:'); readln(bt);
writeln(''tinh bt=', tinh_bt(bt));
end.
mamap0511
mamap0511
Thành viên mới
Thành viên mới

Nam Ngày sinh : 05/11/1988
Tuổi : 35
Ngày đăng ký : 27/03/2011

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết