Помогите решить в турбо паскале!!!
Задана строка символов. Среди литер этого текста особую роль играет знак #, появление которого означает отмену предыдущей литеры текста; k знаков # отменяют k предыдущих литер (если такие есть) Напечатать строку с учетом роли знака #. Например, строка "VR#Y##HELO#LO" должна быть напечатана в виде: "HELLO".
program q179020117;
var
i: integer;
s: string;
begin
ReadLn(s);
i := 1;
if Length(s) <> 0 then
repeat
if s[i] = '#' then
begin
Delete(s, i, 1);
if i > 1 then
begin
Delete(s, Pred(i), 1);
Dec(i);
end;
end
else
Inc(i);
until i > Length(s);
WriteLn(s);
ReadLn;
end.
лень написать 5 строчек? я сделал это за тебя
var
s:string;
begin
s:='VR#Y##HELO#LO';
while pos('#',s)<>0 do delete(s,pos('#',s)-1,2);
writeln(s);
end.
Выход за границы массива если # первая в строке будет.
var
strin:string:='VR#Y##HELO#LO';
strout:string;
i:integer;
begin
for i:=1 to length(strin) do
if strin[i]='#' then
strout:=leftstr(strout,length(strout)-1)
else
strout:=strout+strin[i];
writeln(strout);
end.