"Эээмм, ну попробуй так.
var
urav,out,temp,temp2:string;//уравнение, вспомогательная строка с операндом
i,j,k,p:integer;
z:char;
const
zank=('+','-','*','/');
word=(); // множество букв
//--------------------------
//в программе на обребетке строки:
k:=0;
p:=0;
zn:=[];
for i:=1 to length(urav) do
if urav[i] in znak then
begin
temp:=copy(urav,1, i-1);
delete(urav, 1,length(temp)+1);
try
k:=k+strtoint(temp);
except
for j:=1 to length(temp) do
if temp[j] in word then temp2:=copy(temp,1,j-1);
p:=p+strtoint(temp2);
z:=temp[length(temp)];
end;
end;
end;
out:=inttostr(k)+inttostr(p)+z;
//out - готовая строка... z - буква.
//Пример тока для обработки уравнения с одной неизвестной!!!
//Если сразу виден какой то косяк, то напишите. Я весьма невнимателен и могу мелоч какую нить пропустить. но вроде правильно. не проверял, а писал прям тут, так что сразу надеяться не нужно
|