Заполнить массив случайными числами и найти два максимальных элемента массива и их номера - Pascal

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

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

Прошу помощи в выводе номеров двух максимальных в массиве.
максимальные равны между собой

Решение задачи: «Заполнить массив случайными числами и найти два максимальных элемента массива и их номера»

textual
Листинг программы
const
  n = 10;
 
var
  a: array [1..n] of integer;
  i, im1, im2: integer;
 
begin
  randomize;
  for i := 1 to n do
  begin
   a[i] := random(101);
    Write(a[i], ' ');
  end;
  im1 := 1;im2 := 2;
  writeln();
  for i := 1 to n do
    if a[im1] < a[i] then im1 := i;
    im2:=integer(im1<2)+1;
  for i := 1 to n do
    if (a[im2] < a[i]) and (im1 <> i) then im2 := i;   
  Writeln('Максимальные элементы: a[', im1, ']=', a[im1], ', a[', im2, ']=', a[im2]);  
end.

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

В данном коде объявлены следующие переменные:

  • n - количество элементов в массиве (равное 10 в данном случае);
  • a - массив для заполнения случайными числами;
  • i - индекс текущего элемента массива;
  • im1 - номер первого максимального элемента;
  • im2 - номер второго максимального элемента. С помощью функции randomize генерируются случайные числа для заполнения массива. Далее, с помощью цикла for происходит заполнение массива случайными числами от 1 до 100. Затем, с помощью двух циклов for, происходит поиск двух максимальных элементов массива. Первый цикл for ищет элемент, который является максимальным среди всех элементов, начиная с первого. Если такой элемент найден, его номер записывается в переменную im1. Второй цикл for ищет элемент, который является максимальным среди оставшихся элементов (то есть, исключая уже выбранный максимум). Если такой элемент найден, его номер записывается в переменную im2. В конце выводится сообщение с максимальными элементами и их номерами.

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


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

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

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