Дана непустая последовательность непустых слов из латинских букв, соседние слова отделены...

0 голосов
115 просмотров

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


Информатика (12 баллов) | 115 просмотров
0

Alviko, можешь помочь с программой по паскалю?

0

АБС

0

ок, извини

Дан 1 ответ
0 голосов

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



(142k баллов)
0

не паскаль, С++

0

я Вам благодарна и за Паскаль, это тоже мне помогло) Я уже сама написала программу на С++ благодаря Вашей на Паскале)