КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
If (HB)then
Begin Begin Begin Begin Begin Begin Begin Begin Begin Begin Begin Begin Else SetLength(HeaderPer, 1) Begin Begin Begin Begin Else End Begin Begin Begin Else Begin Begin Begin nextS:=False;HB:=false; h:=0;l:=0;k:=0;elem:=0;n:=0;m:=0; Temp:=''; Res:=''; SetLength(BigElenent, 0); SetLength(HeaderPer, 0); SetLength(NumerikArray, 0);SetLength(ElementArray, 0);SetLength(DataPer, 0); Preo:=''; //mmo2.Lines.Add(Copy(S,i+1,j-i)); Preo:=Copy(S,i+1,j-i); Delete(S,i,j-i+2); //4+(3*х-2*х)-12 //mmo2.Lines.Add('D:'+s); if(not isPM(Preo[1]))then Preo:='+'+Preo; l:=Length(Preo); k:=0; for j:=Length(Preo) downto 1 do if isPM(Preo[j]) then SetLength(BigElenent, k+1); BigElenent[k]:=Copy(Preo, j, l-j+1); k:=k+1; l:=j-1; end; {for j:=0 to High(BigElenent) do mmo2.Lines.Add(BigElenent[j]); } SetLength(NumerikArray, High(BigElenent)+1); SetLength(ElementArray, High(BigElenent)+1); SetLength(HeaderPer, 0); for j:=0 to High(BigElenent) do l:=Length(BigElenent[j]); k:=0; elem:=0; if(BigElenent[j][1]='-')then NumerikArray[j]:=-1 NumerikArray[j]:=1; for h:=Length(BigElenent[j]) downto 1 do if((h=1)or(BigElenent[j][h]='*')) then if(isNumber(BigElenent[j][h+1]))then //mmo2.Lines.Add(Copy(BigElenent[j], h+1, l-h)); // 3*5*x-x*3+x*y = 12*x+x*y NumerikArray[j]:=NumerikArray[j]*StrToFloat(Copy(BigElenent[j], h+1, l-h)); SetLength(ElementArray[j], elem+1); ElementArray[j][elem]:=Copy(BigElenent[j], h+1, l-h); elem:=elem+1; end; //mmo2.Lines.Add(Copy(BigElenent[j], h+1, l-h)); l:=h-1; end; if ((not isPMUR(BigElenent[j][h])) and (not isNumber(BigElenent[j][h])))then HB:=True; //mmo2.Lines.Add(IntToStr(High(HeaderPer))); //mmo2.Lines.Add(BigElenent[j][h]); for n:=0 to High(HeaderPer) do if (HeaderPer[n] = BigElenent[j][h])then //mmo2.Lines.Add(HeaderPer[n]+' '+BigElenent[j][h]); HB:=False; end; if(HB)then // 3*5*x-y*x*3*5+x*y //mmo2.Lines.Add(IntToStr(High(HeaderPer))); if (High(HeaderPer) < 0) then SetLength(HeaderPer, High(HeaderPer)+2); //mmo2.Lines.Add(HeaderPer[High(HeaderPer)]); HeaderPer[High(HeaderPer)]:=BigElenent[j][h]; end; end; end; end; {for j:=0 to High(HeaderPer) do mmo2.Lines.Add(HeaderPer[j]); for j:=0 to High(NumerikArray) do mmo2.Lines.Add(FloatToStr(NumerikArray[j]));} // (-3.1-4.333+2.2*x+4.25*x) SetLength(DataPer, High(ElementArray)+1); for j:=0 to High(DataPer) do SetLength(DataPer[j], High(HeaderPer)+1); for l:=0 to High(DataPer[j]) do // 3*5*x-y*x*3*5+x*y DataPer[j][l]:=0; end; end; for j:=0 to High(ElementArray) do for l:=0 to High(ElementArray[j]) do for n:=0 to High(HeaderPer) do if(HeaderPer[n]=ElementArray[j][l])then Break; end; DataPer[j][n]:=DataPer[j][n]+1; end; end; for j:=0 to High(ElementArray) do // 3*5*x-x*3+x*y { y*(x-1)-1 x^2-y^2-1 } Temp:=FloatToStr(NumerikArray[j]); for l:=0 to High(ElementArray[j]) do Temp:=Temp+' '+ElementArray[j][l]+' '; for l:=0 to High(DataPer[j]) do Temp:=Temp+':'+IntToStr(DataPer[j][l]); //if( //mmo2.Lines.Add(Temp); end; for j:=0 to High(ElementArray)-1 do if (NumerikArray[j]<>0)then for l:=j+1 to High(ElementArray) do if(NumerikArray[l]<>0)then HB:=True; for n:=0 to High(DataPer[j]) do if(DataPer[j][n]<>DataPer[l][n])then HB:=False; end; end;
Дата добавления: 2015-03-29; Просмотров: 319; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |