Подсчитать сколько раз в тексте встречаются буквы "л" и "а" стоящие отдельно.заменитьь все буквы "л" на "77" - Pascal ABC
Формулировка задачи:
Задача.Подсчитать сколько раз в тексте встречаются буквы "л" и "а" стоящие отдельно.заменитьь все буквы "л" на "77". Огромное спасибо
Решение задачи: «Подсчитать сколько раз в тексте встречаются буквы "л" и "а" стоящие отдельно.заменитьь все буквы "л" на "77"»
textual
Листинг программы
uses crt;
var s,sc: string;
i,k: byte;
begin
write('s=');
readln(s);
s:=' '+s+' ';
for i:=1 to length(s)-2 do
begin
sc:=copy(s,i,3);
if ((sc[1]=' ') and (sc[3]=' ')) and
((sc[2]='л') or (sc[2]='а')) then inc(k);
end;
writeln('Отдельно буквы "л" и "а" встречаются ',k,' раз(а)');
for i:=length(s) downto 1 do
if s[i]='л' then
begin
delete(s,i,1);
insert('77',s,i);
end;
write('s=',s);
end.
Объяснение кода листинга программы
- Объявление переменных: s, sc (строки), i, k (байты).
- Чтение строки s с помощью функции readln.
- Добавление пробелов в начале и в конце строки s с помощью конкатенации строк ' ' и s.
- Итерация по всем символам строки s, начиная с 2-го символа (исключая пробелы) с помощью цикла for.
- В каждой итерации создается копия строки sc из строки s, начиная с текущего индекса i и длиной 3 символа.
- Проверка, является ли второй символ в строке sc пробелом, а третий символ - пробелом, и при этом второй символ является 'л' или 'а'. Если это так, то увеличивается значение переменной k.
- Итерация по всем символам строки s, начиная с последнего символа (включая пробелы) с помощью цикла for.
- Если текущий символ является 'л', то он удаляется из строки s, а на его место вставляется '77'.
- Вывод значения переменной k, которое показывает, сколько раз отдельно встречаются буквы
лиа. - Вывод измененной строки s.