prnomer1.PAS

{* Порядковый номер и сумма двух наибольших элементов *}

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

Program prnomer1;

Uses prnomer1.pas; {* Эту строку можно удалить *}
Uses CRT; {* Подключение модулей *}
Const {* Предопределенные *}
  n = 10;
Type {* Типы переменных *}
  new_array = Array[1..n] Of integer;
Var {* Необходимые переменные *}
  p      : new_array;
  i      : integer;
  nmax_1 : integer;
  nmax_2 : integer;
  max_1  : integer;
  max_2  : integer;
Begin
  clrscr; {* Стираем всё с экрана *}
  randomize;
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
  Begin
    readln(p[i]);
  End;
  max_1 := - MaxInt;
  max_2 := - MaxInt;
  nmax_1 := 1;
  nmax_2 := 1;
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
  Begin
    If (max_1 < p[i]) Then
    Begin
      max_1 := p[i];
      nmax_1 := i;
    End;
    
  End;
  For i := 1 To n Do {* Увеличиваем i от 1 до n с шагом 1 *}
  Begin
    If (max_2 < p[i]) And (nmax_1  i) Then
    Begin
      max_2 := p[i];
      nmax_2 := i;
    End;
    
  End;
  writeln; {* Вывод пустой строки *}
  writeln('Позиции: ', nmax_1 : 3, nmax_2 : 3);
  writeln('Элементы: ', max_1 : 3, max_2 : 3);
  writeln('Сумма: ', max_1 + max_2);
End.