Заполнить массив случайными числами и найти два максимальных элемента массива и их номера - 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. В конце выводится сообщение с максимальными элементами и их номерами.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д