Из заданного текста удалить последовательность символов между двумя апострофами - Pascal
Формулировка задачи:
Из заданного текста удалить последовательность символов, расположенных между двумя апострофами.
Помогите пожалуйста
Решение задачи: «Из заданного текста удалить последовательность символов между двумя апострофами»
textual
Листинг программы
var s: string;
n, k: integer;
begin
writeln('Введите строку, содержащую не менее двух апострофов:');
readln(s);
n := pos('''', s);
if n = 0
then write('Строка не содержит апострофов.')
else begin
k := length(s);
while s[k] <> '''' do dec(k);
if k = n
then write('В строке нет второго апострофа.')
else begin
delete(s, n + 1, k - n - 1);
writeln('Результат:');
write(s)
end
end;
readln
end.
Объяснение кода листинга программы
- Объявляется переменная
sкак строковая, и переменныеnиkкак целочисленные. - Выводится сообщение пользователю:
Введите строку, содержащую не менее двух апострофов:. - Программа считывает строку, введенную пользователем, и сохраняет её в переменной
s. - Находится позиция первого апострофа в строке
sс помощью функцииposи сохраняется в переменнойn. - Если
nравно 0, программа выводит сообщениеСтрока не содержит апострофов.. - Иначе:
6.1. Находится длина строки
sи сохраняется в переменнойk. 6.2. Пока символ под индексомkв строкеsне равен апострофу, переменнаяkуменьшается. 6.3. Еслиkравноn, программа выводит сообщениеВ строке нет второго апострофа.. 6.4. Иначе: 6.4.1. Удаляется подстрока между первым и вторым апострофами в строкеsс помощью функцииdelete. 6.4.2. Выводится сообщениеРезультат:. 6.4.3. Выводится измененная строкаs. - Программа ждет ввода пользователя перед завершением.