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

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

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

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

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

textual
Листинг программы
  1. const
  2.   n = 10;
  3.  
  4. var
  5.   a: array [1..n] of integer;
  6.   i, im1, im2: integer;
  7.  
  8. begin
  9.   randomize;
  10.   for i := 1 to n do
  11.   begin
  12.    a[i] := random(101);
  13.     Write(a[i], ' ');
  14.   end;
  15.   im1 := 1;im2 := 2;
  16.   writeln();
  17.   for i := 1 to n do
  18.     if a[im1] < a[i] then im1 := i;
  19.     im2:=integer(im1<2)+1;
  20.   for i := 1 to n do
  21.     if (a[im2] < a[i]) and (im1 <> i) then im2 := i;  
  22.   Writeln('Максимальные элементы: a[', im1, ']=', a[im1], ', a[', im2, ']=', a[im2]);  
  23. end.

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

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

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

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


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

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

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы