1.program end_with_a;
uses crt;
var
s: string;
i, count: integer;
begin
write('Введите текст: ');
readln(s);
count := 0;
for i := 1 to length(s) do
begin
// Если текущий символ 'а' и (это конец строки ИЛИ следующий символ пробел)
if (s[i] = 'а') and ((i = length(s)) or (s[i+1] = ' ')) then
count := count + 1;
end;
writeln('Слов, оканчивающихся на "а": ', count);
end.
2.program t_in_last_sentence;
uses crt;
var
s: string;
i, count, last_dot_pos: integer;
begin
write('Введите текст: ');
readln(s);
count := 0;
last_dot_pos := 0;
// Ищем позицию последней точки
for i := 1 to length(s) do
if s[i] = '.' then
last_dot_pos := i;
// Если точка найдена, считаем 'т' после неё
if last_dot_pos > 0 then
begin
for i := last_dot_pos + 1 to length(s) do
if (s[i] = 'т') or (s[i] = 'Т') then // Учитываем регистр
count := count + 1;
end
else
begin
// Если точек нет, считаем во всём тексте
for i := 1 to length(s) do
if (s[i] = 'т') or (s[i] = 'Т') then
count := count + 1;
end;
writeln('Букв "т" в последнем предложении: ', count);
end.
3.program count_cat;
uses crt;
var
s: string;
count, p: integer;
begin
write('Введите текст: ');
readln(s);
count := 0;
// Ищем слово "кот"
p := Pos('кот', s);
while p > 0 do
begin
count := count + 1;
// Отрезаем строку до найденного слова включительно
Delete(s, 1, p + 2); // p + 2, так как длина "кот" = 3
p := Pos('кот', s);
end;
writeln('Слово "кот" встречается раз: ', count);
end.
4.