Из заданного текста удалить последовательность символов между двумя апострофами - 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
. - Программа ждет ввода пользователя перед завершением.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д