В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История

Дана непустая последовательность непустых слов из латинских букв, соседние слова отделены друг от друга запятой, за последним словом записана точка. определить количество слов, которые начинаются с буквы "а".

Показать ответ
Ответ:
ggwpbro
ggwpbro
08.07.2020 01:43
Var
  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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота