Найти минимальное и второе по величине значение массива - PascalABC.NET

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

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

заполнить массив 10 рандомными числами в пределах 100. вывести минимальное число и его номер и предминимум и тоже его номер

Решение задачи: «Найти минимальное и второе по величине значение массива»

textual
Листинг программы
  1. const n=10;
  2. var
  3.   a:array[1..n] of integer;
  4.   i,j,d1,d2:integer;
  5. begin
  6.   randomize;
  7.   for i:=1 to n do a[i]:=random(0,100);
  8.   writeln(a);
  9.   d1:=1;d2:=1;
  10.   for i:=2 to n do
  11.     if a[i]<a[d1] then begin
  12.       d2:=d1;
  13.       d1:=i;
  14.     end else
  15.   if ((d1=d2) and (a[i]>a[d2])) or ((a[i]<a[d2]) and (i<>d1) and (a[i]>a[d1])) then d2:=i;
  16.   WritelnFormat('A({1})={0}, A({3})={2}',a[d1],d1,a[d2],d2);
  17. end.

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

  1. Задается константа n=10, которая определяет размер массива.
  2. Создается массив a размером n и заполняется случайными числами в диапазоне от 0 до 100 с помощью цикла for и функции random.
  3. Выводится содержимое массива a с помощью функции writeln.
  4. Инициализируются переменные d1, d2, которые будут использоваться для поиска минимального и второго по величине значения массива.
  5. Переменная d1 инициализируется значением 1, а переменная d2 - значением 1.
  6. Цикл for i=2 до n выполняет следующие действия:
    • Если элемент массива a[i] меньше, чем элемент массива a[d1], то выполняются следующие действия:
    • Переменной d2 присваивается значение d1.
    • Переменной d1 присваивается значение i.
    • Если элемент массива a[i] равен a[d1] и a[i] больше, чем a[d2], или если элемент массива a[i] меньше, чем a[d1] и i не равно d1 и a[i] больше, чем a[d1], то переменной d2 присваивается значение i.
  7. Выводится сообщение с минимальным и вторым по величине значением массива a с помощью функции WritelnFormat.

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


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

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

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

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

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

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