Заполните массив случайными числами и найти два максимальных элемента массива и их номера - Pascal ABC
Формулировка задачи:
Задача: Заполните массив случайными числами и найти два максимальных элемента массива и их номера.
Пример:
Массив:
5 5 3 4 1
Максимальный элемент: A[1]=5
Второй максимум: A[2]=5
Не работает, когда первый элемент массива имеет максимальное значение - считает это значение за максимальное в обоих случаях. Помогите исправить.
Решение задачи: «Заполните массив случайными числами и найти два максимальных элемента массива и их номера»
textual
Листинг программы
program Project2;
var
n,max,min,nmax,nmin,i:integer;
a:array of integer;
begin
randomize;
writeln('Введите размерность массива!');
readln(n);
setlength(a,n);
for i := 1 to n do
a[i]:=random(100)+1;
write('Массив: ');
for i := 1 to n do
write(a[i],' ');
writeln;
max:=a[1];
min:=a[1];
for i := 1 to n do
if max<a[i] then
begin
max:=a[i];
nmax:=i;
end;
writeln('Максимальный элемент: ', max,' Номер: ', nmax);
for i := 1 to n do
if min>a[i] then
begin
min:=a[i];
nmin:=i;
end;
writeln('Минимальный элемент: ', min,' Номер: ', nmin);
readln;
end.
Объяснение кода листинга программы
Программа Project2 выполняет следующие действия:
- Вводит размерность массива с помощью функции readln.
- Создает массив a типа array of integer и устанавливает его длину с помощью функции setlength.
- Заполняет массив случайными числами в диапазоне от 1 до 100 с помощью цикла for и функции randomize.
- Выводит содержимое массива с помощью цикла for и функции write.
- Находит максимальный элемент массива, сохраняя его значение и номер в переменных max и nmax соответственно с помощью цикла for.
- Находит минимальный элемент массива, сохраняя его значение и номер в переменных min и nmin соответственно с помощью цикла for.
- Выводит найденные значения с помощью функций write и writeln.
- Завершает работу программы с помощью функции readln.