Найти три наибольших элемента одномерного массива X(20) - Turbo Pascal
Формулировка задачи:
Решение задачи: «Найти три наибольших элемента одномерного массива X(20)»
uses crt; const n=10; var a:array [1..n] of integer; i,max1,max2,max3,nmax1,nmax2,nmax3:integer; begin clrscr; randomize; writeln('Massive :'); for i:=1 to n do begin a[i]:=random(100); write(a[i],' '); end; writeln; max1:=-maxint; max2:=-maxint; max3:=-maxint; for i:=1 to n do if a[i]>max1 then begin max1:=a[i]; nmax1:=i; end; for i:=1 to n do if a[i]>max2 then if i<>nmax1 then begin max2:=a[i]; nmax2:=i; end; for i:=1 to n do if a[i]>max3 then if (i<>nmax1) and (i<>nmax2) then begin max3:=a[i]; nmax3:=i; end; writeln; writeln('Max 1 = a[',nmax1,']=',max1); writeln('Max 2 = a[',nmax2,']=',max2); writeln('Max 3 = a[',nmax3,']=',max3); readkey; end.
Объяснение кода листинга программы
Код начинается с использования библиотеки crt, которая позволяет использовать клавиатуру для ввода данных. Затем определяется переменная n, которая представляет собой максимальное количество элементов в массиве. Далее объявляются переменные a, max1, max2, max3, nmax1, nmax2, nmax3, которые представляют собой массив целых чисел, а также три переменные-максимума и три переменные-номера этих максимумов. Затем происходит инициализация массива a случайными числами от 0 до 99. Далее выполняется три цикла, которые служат для поиска трех наибольших элементов в массиве. В каждом цикле проверяется, является ли текущий элемент наибольшим из тех, что были найдены ранее. Если это так, то обновляется значение max1, max2 и max3, а также обновляется значение nmax1, nmax2 и nmax3. После завершения последнего цикла выводятся на экран значения max1, max2 и max3, а также номера этих максимумов. В конце программы предлагается ввести любой символ, чтобы завершить выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д