zadah32.PAS

{* Задача 32 *}

Unit ZADAH32;
Interface
Implementation
Begin
 writeln('В массиве размера N найти номера двух ближайших элементов с наименьшим модулем разности. Вывести их в порядке возрастания ');
End.

Program array45;

Uses zadah32.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Type {* Используемые типы *}
  mas = Array[1..100] Of real;
Var {* Необходимые переменные *}
  i  : integer;
  k  : integer;
  j  : integer;
  n  : integer;
  f1 : integer;
  f2 : integer;
  l  : integer;
  c  : integer;
  d  : real;
  g  : real;
  ar : mas;
  br : mas;
  cr : mas;
Begin
  clrscr; {* Стираем всё с экрана *}
  write('Введите длину массива: ');
  readln(n);
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
  Begin
    write('Введите ', i, ' элемент массива ');
    readln(ar[i]);
  End;
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
    write(ar[i] : 3 : 2, '|');
  writeln; {* Пропускаем одну строку *}
  d := ar[1];
  g := ar[2];
  For i := 1 To n - 1 Do {* Увеличиваем i от 1 до n с шагом 1 *}
    If abs(d - g) > = abs(ar[i] - ar[i + 1]) Then
    Begin
      d := ar[i];
      c := i;
      g := ar[i + 1];
    End;
  write('Элементы с наименьшим модулем разности ', c, ' и ', c + 1);
  writeln; {* Пустая строка *}
  writeln(d);
  writeln(g);
End.