Удалить символы из заданной строки - 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.
Объяснение кода листинга программы
- В начале объявляются две переменные: i и s. Переменная i является целочисленной, а переменная s является строкой.
- Затем выводится сообщение
Исходная строка
с помощью функции Writeln. - С помощью функции Readln считывается строка от пользователя.
- Переменная i инициализируется значением 1.
- Затем начинается цикл while, который будет выполняться до тех пор, пока значение переменной i меньше длины строки s.
- Внутри цикла проверяется условие: если подстрока s, начиная с позиции i и длиной 3 символа, равна 'или', то с помощью функции delete удаляется эта подстрока.
- Если условие не выполняется, то значение переменной i увеличивается на 1.
- После завершения цикла выводится измененная строка s с помощью функции Writeln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д