Показать сообщение отдельно
  #4  
Старый 18.03.2011, 11:27
SandreS SandreS вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 3
Репутация: 10
По умолчанию

Так, вот чего я добился, оно по замыслу должно считать сроки где используется +, -. Но оно не работает, во первых не вычисляет, хотя значение в переменную передаёт, это точно. Во вторых даже раньше как это успеет произойти появляется сообщение "Project Project1.exe raised exception class EConvertError with message "5'is not a valid integer value'. Process stopped. Use Step or Run to conyinue." Я впринципе понимаю о чём тут говориться, но не знаю как это всё реализовать. Вот код
Код:
var s,y,x,t:string; a,b,i,z:integer; c:char; mas:Array[1..100] of Integer; mas1:Array[1..100] of string;
begin
a:=1;
b:=1;
s:='5 + 3';

for i:= 1 to length(s) do
begin
if s[i] in ['0'..'9']  then
begin
x:=copy(s,i,pos(' ',s));
mas[a]:=StrToInt(x);
a:=a+1;
end;
end;

for i:= 1 to length(s) do
begin
if s[i] in ['+','-']  then
begin
y:=copy(s,i,pos(' ',s));
mas1[b]:=y;
b:=b+1;
end;
end;

z:=mas[1];
for i:=1 to length(s) do
begin
if mas1[i]='+' then
z:=z+mas[i+1]
else
if mas1[i]='-' then
z:=z-mas[i+1];
end;

for i:= 1 to length(s) do
writeln(z);

for i:= 1 to length(s) do
writeln(mas1[i]);

readln;
end.
Если кто может что посоветовать, буду благодарен.
Ответить с цитированием