Дана непустая последовательность непустых слов из латинских букв, соседние слова отделены друг от друга запятой, за последним словом записана точка. определить количество слов, которые начинаются с буквы "а".
function FindWord(first: integer): integer; // Возвращает номер позиции правее first, где находится очередной разделитель var i: integer; c: char; begin i := first + 1; Result := 0; repeat c := s[i]; if (c = ',') or (c = '.') then Result := i else i := i + 1 until (Result > 0) or (c = '') end;
var ib, ie, k,n: integer;
begin writeln('Введите строку, отделяя слова запятыми, в конце введите точку'); readln(s); k := 0; ib := 1; n:=length(s); repeat ie := FindWord(ib); if ie > 0 then begin if UpCase(s[ib]) = 'A' then k := k + 1; ib := ie + 1 end; until (ie = 0) or (ie>=n); writeln('Количество слов, начинающихся с буквы "а", равно ', k) end.
Введите строку, отделяя слова запятыми, в конце введите точку A,roza,upala,na,lapu,azora,Antoshka,skazhi,ge,ty,del,moy,portfel?. Количество слов, начинающихся с буквы "а", равно 3
s: string;
function FindWord(first: integer): integer;
// Возвращает номер позиции правее first, где находится очередной разделитель
var
i: integer;
c: char;
begin
i := first + 1;
Result := 0;
repeat
c := s[i];
if (c = ',') or (c = '.') then Result := i
else i := i + 1
until (Result > 0) or (c = '')
end;
var
ib, ie, k,n: integer;
begin
writeln('Введите строку, отделяя слова запятыми, в конце введите точку');
readln(s);
k := 0;
ib := 1;
n:=length(s);
repeat
ie := FindWord(ib);
if ie > 0 then begin
if UpCase(s[ib]) = 'A' then k := k + 1;
ib := ie + 1
end;
until (ie = 0) or (ie>=n);
writeln('Количество слов, начинающихся с буквы "а", равно ', k)
end.
Введите строку, отделяя слова запятыми, в конце введите точку
A,roza,upala,na,lapu,azora,Antoshka,skazhi,ge,ty,del,moy,portfel?.
Количество слов, начинающихся с буквы "а", равно 3