Дана символьная строка, содержащая последовательность слов, разделенных запятыми , за последним словом — точка. Вывести те слова, которые начинаются на ту же букву, что и последнее слово- Pascal(Паскаль)

uses crt;

var
  s, s1: string;
  c: char;
  i, p: byte;

begin
  clrscr;
  writeln('Введите строку из слов, разделенных запятыми, в конце точка');
  s := '';
  repeat
    c := readkey;
    write(c);
    s := s + c;
    if c = #46 then
      writeln; { код точки-конец ввода }
  until c = #46;
  if pos(',', s) = 0 then
    write('Введено только одно слово')
  else
  begin
    i := length(s); { идем с конца }
    while s[i] <> ',' do { ищем последнюю запятую }
      i := i - 1;
    c := s[i + 1]; { буква после нее }
    writeln('Слова, начинающиеся на букву ', c);
    s[length(s)] := ','; { заменим точку на запятую }
    while pos(',', s) > 0 do { пока есть запятые }
    begin
      s1 := copy(s, 1, pos(',', s)); { читаем первое слово }
      if s1[1] = c then
        write(s1); { если первая буква подходит, печатаем }
      delete(s, 1, pos(',', s)); { удаляем }
    end;
  end;
  readln

end.

Leave a Comment

21 − 20 =