Определение последнего максимального элемента массива - Turbo Pascal
Формулировка задачи:
Одномерный массив А длиной N<=20 заполнить случайными числами из диапазона [–5..30]. Составить программу определения:
• последнего максимального элемента;
• определить, на каких позициях находятся эти элементы;
• сколько элементов массива превосходят по модулю заданное число А?
Решите пожалуйста !!!
Решение задачи: «Определение последнего максимального элемента массива»
textual
Листинг программы
uses crt;
const max=20;
var a:array[1..max] of integer;
n,i,k:byte;
aa,mx:integer;
begin
clrscr;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(36)-5;
write(a[i],' ');
end;
writeln;
writeln;
mx:=a[n];
for i:=n downto 1 do
if a[i]>mx then mx:=a[i];
writeln('Последний максимальный=',mx);
writeln('Максимальные элементы имеют индексы:');
for i:=1 to n do
if a[i]=mx then write(i,' ');
writeln;
write('Введите число для поиска aa=');
readln(aa);
k:=0;
for i:=1 to n do
if abs(a[i])>abs(aa) then k:=k+1;
write('Количество чисел по модулю больше ',abs(aa),' =',k);
readln
end.
Объяснение кода листинга программы
В данном коде используется Turbo Pascal. Задача заключается в определении последнего максимального элемента массива. Переменные:
- a: массив целых чисел от 1 до 20
- n: переменная, в которую считывается размер массива
- i, k: переменные для подсчета количества чисел, больших заданного числа aa Код начинается с инициализации массива a случайными числами от 1 до 36, вычитаемых из 5. Затем выводится исходный массив и его последний элемент mx. Далее происходит поиск максимального элемента в массиве. Для этого используется цикл for, который проходит по всем элементам массива и сравнивает их со значением mx. Если текущий элемент больше mx, то значение mx обновляется. В конце цикла выводится значение mx. Затем происходит поиск числа aa по модулю в массиве. Для этого также используется цикл for, который проходит по всем элементам массива и сравнивает их со значением aa. Если абсолютное значение текущего элемента больше абсолютного значения aa, то значение k увеличивается на 1. В конце цикла выводится значение k. В конце программы выводится сообщение о вводе числа для поиска. После ввода числа aa, начинается второй цикл for, который проходит по всем элементам массива и проверяет, является ли текущий элемент больше aa по модулю. Если это так, то значение k увеличивается на 1. В конце цикла выводится значение k. Таким образом, данный код решает задачу определения последнего максимального элемента массива и подсчета количества чисел, больших заданного числа aa.