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

Условие : дана непустая последовательность непустых слов из латинских букв; соседние слова отделены друг от друга запятой, за последним словом – точка. определить количество слов, которые начинаются и оканчиваются одной и той же буквой. код: program stroka; var s: string; i,k: integer; c: char; begin readln(s); c: =s[1]; for i: =1 to length(s) do begin if =',') or (s[i]='.')) and (s[i-1]=c)) then begin inc(k); c: =s[i+1]; end; end; writeln(k); readln; end. код работает через раз. как я понял он сравнивает последнюю букву последнего слова, с самой первой буквой. исправить.

Ответ:
НастюшКа50471
НастюшКа50471
02.10.2020 12:36
Program stroka;
var
  s: string;
  i, k: Integer;
  c: char;
begin
  ReadLn(s);
  c := s[1];
  i:=1;
  while i<=Length(s) do
    if (s[i]=',') or (s[i]='.') then
    begin
      if s[i-1]=c then Inc(k);
      if s[i]=',' then c := s[i + 1]
      else c:='.';
      i:=i+2
    end
    else Inc(i);
  Writeln(k);
  Readln
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?