Теперь моё решение.
Обозначим:
T - исходная строка, L - длина этой строки. Для решения создадим ещё одну строку T1 (вначале пустую). Далее организуем цикл по номеру символа в строке T. Если очередной символ не #, то добавим его к строке T1, если это знак # и строка T1 не пустая, то удалим из неё последний символ.
Программа, реализирующая данный алгоритм на паскале будет иметь следующий вид:
- var t,t1:string;
- l,i,k:integer;
- begin
- writeln('Введите строку');
- readln(t);
- l:=length(t);
- t1:=''; //Две одинарных кавычки '
- k:=0;
- for i:=1 to l do
- if (t[i]='#') and (k<>0) then
- begin
- delete(t1,k,1);
- k:=k-1;
- end
- else
- begin
- k:=k+1;
- t1:=t1+t[i];
- end;
- writeln(t1);
- end.