简单的算法,小小的错误(0分)

Unregistered / Unconfirmed
GUEST, unregistred user!
一个表达式求值的函数,却有算法问题,希望各位告之:(不是用栈,是用数组做的)
function tform1.judge( input:string):boolean;
var m,n, k,l, j, i:integer;
waitanger,waitop:string;
waitnum:array[0..10] of integer;
begin
j:=1;
l:=0;
k:=1;
for i:=1 to length(input) do
begin
case input of
'(':begin
while (input<>')')do
begin
waitanger[k]:=input;
k:=K+1;
end;
end;
'+','-','*','/':begin
waitop[j]:=input;
j:=j+1;
end;
'1'..'9' :begin
waitnum[l]:=strtoint(input);l:=l+1;
end;
end;
end;
if k=1 then
begin
for m:=1 to jdo
begin
for n:=0 to l-1do
begin
case waitop[m] of
'+':begin
waitnum[n+1]:= add(waitnum[n],waitnum[n+1]);
end;
'-':begin
waitnum[n+1]:= sub(waitnum[n],waitnum[n+1]);
end;
'*':begin
waitnum[n+1]:= mul(waitnum[n],waitnum[n+1]);
end;
'/':begin
waitnum[n+1]:= divi(waitnum[n],waitnum[n+1]);
end;
end;
end;
end;
end;
if k<>1 then
judge(waitanger);
label8.Caption:=floattostr(waitnum[l] );
end;
 
你的代码真难看。头大。
 

Similar threads

I
回复
0
查看
741
import
I
I
回复
0
查看
488
import
I
I
回复
0
查看
570
import
I
I
回复
0
查看
713
import
I
I
回复
0
查看
632
import
I
顶部