|
Работаем с эквивалентностью |
|
Автор: Administrator
|
|
Работаем с эквивалентность и суммой по модулю два. Эта часть функции чуть побольше чем предыдущие
//убираем значки $ если флаг тру if flag=true then begin f:=''; for i:=1 to length(skobka) do if skobka[i]<>'$' then f:=f+skobka[i]; skobka:=f; flag:=false; end; //убираем эквивалентность и сумму по модулю два i:=2; while i<length(skobka) do begin if skobka[i]='~' then begin if skobka[i-1]=skobka[i+1] then begin skobka[i-1]:='$';skobka[i]:='$'; skobka[i+1]:='1';end else begin skobka[i-1]:='$';skobka[i]:='$'; skobka[i+1]:='0';end; flag:=true; inc(i); end else if skobka [i]='@' then begin if skobka[i-1]=skobka[i+1] then begin skobka[i-1]:='$';skobka[i]:='$'; skobka[i+1]:='0';end else begin skobka[i-1]:='$';skobka[i]:='$'; skobka[i+1]:='1';end; flag:=true; inc(i); end; inc(i); end;
|