Как удалить фигурные скобки? типа строка: «Офигительно дебильная {строка} такая»      в результате «Офигительно дебильная такая» — Pascal(Паскаль)

var
st:string;                             {сама строка                  }
a,b:byte;                              {позиция левой и правой скобки}

BEGIN
writeln('Введите строку:');
readln(st);

a:=pos('{',st);                        {находим пзицию левой скобки  }
b:=pos('}',st);                        {находим позицию правой скобки}

if (a<>0)and(a<b) then delete(st,a,b-a+1); {удаляем и скобки и текст}

writeln(st);
readln;
END.

В условии проверяется положение скобок: если открывающаяся скобка есть и она находится левее закрывающейся, тогда удаляем скобки и текст между ними.
Можно также проверить:
Если a=0 и b=0, то скобок нет;
Если a=0 и b<>0, то открывающейся скобки нет, а закрывающаяся есть;
Если a<>0 и b=0, то открывающаяся скобка есть, а закрывающейся нет;
Если a<>0 и b<>0 и a>b, то открывающаяся скобка находится после закрывающейся.

Leave a Comment

+ 67 = 71