Известно, что в массиве все элементы различны. Найти в нем два наибольших элемента - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Известно, что в массиве все элементы различны. Найти в нем два наибольших элемента.

Решение задачи: «Известно, что в массиве все элементы различны. Найти в нем два наибольших элемента»

textual
Листинг программы
Var A:array[1..100] of integer;
    i,imax1,imax2,n:integer;
Begin
    write('Кол-во элементов: ');readln(n);
    For i:=1 to n do
    Begin
      write('A[',i,'] = ');
      readln(A[i]);
    End;
    imax1:=1;
    For i:=1 to n do
     if A[i]>A[imax1] then imax1:=i;
    For i:=1 to n do
     if i<>imax1 then break;
    imax2:=i;
    For i:=1 to n do
     if (A[i]>A[imax2])and(i<>imax1) then imax2:=i;
    writeln;
    writeln('Max1 = ',A[imax1]);
    writeln('Max2 = ',A[imax2]);
    readln;
End.

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. Создается переменная A типа array[1..100] of integer; - создается массив из 100 элементов целых чисел.
  2. Задаются три переменные: i, imax1, imax2 - они будут использоваться для поиска наибольших элементов в массиве.
  3. Выводится запрос на ввод количества элементов в массиве - считывается число n.
  4. Запускается цикл for, который проходит по каждому элементу массива A от 1 до n. Внутри цикла выводится значение каждого элемента массива A[i].
  5. Внутри цикла for инициализируется переменная imax1 значением 1. Она будет использоваться для хранения текущего наибольшего элемента.
  6. Запускается еще один цикл for, который проходит по каждому элементу массива A от 1 до n. Внутри цикла проверяется условие: если значение A[i] больше значения переменной imax1, то переменная imax1 обновляется значением i.
  7. После завершения первого цикла for, запускается еще один цикл for. Он также проходит по каждому элементу массива A от 1 до n. Внутри цикла проверяется условие: если значение A[i] больше значения переменной imax2 и i не равно imax1, то переменная imax2 обновляется значением i.
  8. По завершении второго цикла for выводятся на экран значения наибольших элементов массива A[imax1] и A[imax2].
  9. Запрашивается ввод с клавиатуры, и программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы