Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PZ_DP_2012_chast_2.docx
Скачиваний:
3
Добавлен:
26.09.2019
Размер:
302.12 Кб
Скачать

If (hb)then

begin

NumerikArray[j]:=NumerikArray[j]+NumerikArray[l];

NumerikArray[l]:=0;

Go:=true

//mmo2.Lines.Add('***');

end;

end;

end;

end;

end; // 3*5*x-x*3+x*y = +12*x+x*y

{for j:=0 to High(NumerikArray) do

mmo2.Lines.Add(FloatToStr(NumerikArray[j]));}

Temp:='';

Res:='';

for j:=0 to High(NumerikArray) do

begin

if(NumerikArray[j]<>0) then

begin

//mmo2.Lines.Add('***');

Temp:=FloatToStr(NumerikArray[j]);

for l:=0 to High(ElementArray[j]) do

begin

if(ElementArray[j][l]<>'')then

temp:=temp+'*'+ElementArray[j][l];

end;

If(not isPmur(Temp[1]))then

Temp:='+'+Temp;

end;

Res:=Temp+Res;

Temp:='';

end;

{else if(isPM(S[i+1]))then

case S[i+1] of

'+': Delete(S,i+1,1);

end; }

//mmo2.Lines.Add('I :'+IntToStr(i));

//mmo2.Lines.Add('Str:'+S);

//mmo2.Lines.Add('Res:'+Res); //4+(3*х-2*х)-12

Insert(Res, s, I);

if Length(s)>1 then

If(isPm(s[I-1]))then

Delete(S,i-1,1);

//mmo2.Lines.Add('S C:'+S); //

end;

{for j:=Length(S) downto 1 do

if (S[j]='Q') then

begin

S[j]:='0';

end;

S:=Preobr(S);

S:=ScoberU(S);

S:=Sokr(S);

while(Length(S)<>Length(Sokr(S)))do

begin

S:=Preobr(S);

S:=ScoberU(S);

S:=Sokr(S);

end; }

//mmo2.Lines.Add(s);

end;

If(go)then

Break;

end;

{BackStr:='';

for i:=1 to Length(S) do

begin

if(S[i]<>' ') then

BackStr:=BackStr+S[i];

end; }

DelF:=S;

//mmo2.Lines.Add(BackStr);

end;

function TForm1.Sokr(S: String): String;

var

I,h,j,l,k,elem,n,m:integer;

Preo, Temp, Res : string;

nextS,HB,Go:Boolean;

BigElenent : Array of string;

HeaderPer : Array of Char;

NumerikArray : Array of Real;

ElementArray : Array of Array of string;

DataPer : Array of Array of Integer;

begin

//mmo2.Lines.Add(s);

Go:=true;

while(go)do //4+(3*х-2*х)-12 (x+y)^2-x^2

begin

Go:=false;

for i:=1 to Length(S) do

begin

if((S[1]<>'(') and (S[Length(S)]<>')')) then // (-3.1-4.333+2.2*x+4.25*x)

S:='('+S+')';

if(S[i]='(')then

begin

nextS:=True;

for j:=i+1 to Length(S)-1 do

begin

if (s[j+1]='(') then

begin

nextS:=false;

Break;

//mmo2.Lines.Add(IntToStr(j));

end;

if (s[j+1]=')')then

Break;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]