Написать процедуру, определяющую одинаковых «соседей» (слова справа и слева — совпадают) — Pascal(Паскаль)

Ввести последовательность слов, в каждом из которых от 2 до 6 латинских букв. Слова разделены запятыми. Последнее слово заканчивается точкой. Написать процедуру, определяющую одинаковых «соседей» (слова справа и слева — совпадают). Напечатать всех «соседей» и исходную последовательность слов

Program PascalGuru;

var
  s: string;

  { -------------------------------------------------------------- }
procedure sosedi(s: string);
var
  x: string;
  j, p, n: integer;
  A: array [1 .. 50] of string;
begin
  writeln('Slova sosedi: ');
  delete(s, length(s), 1);
  j := 0;
  repeat
    inc(j);
    p := pos(', ', s);
    x := copy(s, 1, p - 1);
    if p = 0 then
      x := s;
    A[j] := x;
    delete(s, 1, p + 1);
  until p = 0;
  n := j;
  for j := 2 to n - 1 do
    if (A[j - 1] = A[j + 1]) then
      writeln(A[j + 1]);
end;
{ -------------------------------------------------------------- }

begin
  write('Vvedite stroky slov otdelennymi zapyatymi + probelami: ');
  readln(s);
  writeln;
  sosedi(s);
  writeln;
  writeln('Ishodnaya posledovatelinosti: ', s);
  readln;

end.

Leave a Comment

+ 30 = 39