Удалить символы из заданной строки - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дана строка s, содержащая менее чем 256 символов. Удалить из данной последовательности символов все группы букв вида или. Использовать стандартные процедуры и функции в действиях над строками.
Эта программа работает, но она удаляет слово "или" не из данной строки, а до тех пор пока его вообще не будет. Например если мы введем строку : "Аиилилилии." после удаления двух "или" образуется еще одно или и программа его тоже удалит, как сделать так чтобы "или" удалялось только из исходной строки и при образовании нового слова "или" программа его не трогала, так как по условию надо удалить именно из данной строки.

Решение задачи: «Удалить символы из заданной строки»

textual
Листинг программы
var
i:integer;
s:string;
begin;
Writeln('Исходная строка');
Readln(s);
i:=1;
while i<length(s) do
if copy(s,i,3)='или' then delete(s,i-3,3)
else inc(i);
Writeln(s);
end.

Объяснение кода листинга программы

  1. В начале объявляются две переменные: i и s. Переменная i является целочисленной, а переменная s является строкой.
  2. Затем выводится сообщение Исходная строка с помощью функции Writeln.
  3. С помощью функции Readln считывается строка от пользователя.
  4. Переменная i инициализируется значением 1.
  5. Затем начинается цикл while, который будет выполняться до тех пор, пока значение переменной i меньше длины строки s.
  6. Внутри цикла проверяется условие: если подстрока s, начиная с позиции i и длиной 3 символа, равна 'или', то с помощью функции delete удаляется эта подстрока.
  7. Если условие не выполняется, то значение переменной i увеличивается на 1.
  8. После завершения цикла выводится измененная строка s с помощью функции Writeln.

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы