zadach126.PAS

{* Задача 126 *}

Unit ZADACH126;
Interface
Implementation
Begin
 writeln('Дана строка текста, состоящая из слов разделенных одним из знаков [#,$,*,-]. Если кол-во слов в предложении четно, поменяйте местами два центральных слова, а если нечетно удалите одно центральное слово ');
End.

Program pas3783;

Uses zadach126.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Var {* Объявление переменных *}
  a : String;
  b : String;
  c : String;
  i : longint;
  l : longint;
  s : longint;
  j : longint;
  r : longint;
  t : Array [1..30] Of String;
Begin
  clrscr; {* Стираем всё с экрана *}
  write('Введите строку :');
  readln(a);
  l := length(a);
  If Not ( a[l] In ['#''$''*''-'] ) Then
  Begin
    inc(l); {* l++ *}
    a := a + '#'
  End;
  For i := 1 To l Do {* Переменная i увеличивается с 1 до l *}
    If a[i] In ['#''$''*''-'Then
    Begin
      inc(j); {* Увеличиваем j на 1 *}
      t[j] := b;
      b := ''
    End;
    Else b := b + a[i];
      s := trunc(j / 2);
  If j Mod 2 = 0 Then
  Begin
    c := t[s];
    t[s] := t[s + 1];
    t[s + 1] := c;
  End;
  Else t[s + 1] := '';
    For i := 1 To j Do {* Увеличиваем i от 1 до j с шагом 1 *}
      If t[i]'' Then
        write(t[i], '#');
  readln; {* Ждем нажатия Enter *}
End.