Заполните массив случайными числами и найти два максимальных элемента массива и их номера - Pascal ABC

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

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

Задача: Заполните массив случайными числами и найти два максимальных элемента массива и их номера. Пример:
Массив: 5 5 3 4 1 Максимальный элемент: A[1]=5 Второй максимум: A[2]=5
Листинг программы
  1. program qq;
  2. const N=5;
  3. var i, nMax, nMax2:integer;
  4. var A:array [1..N] of integer;
  5. begin
  6. writeln ('Массив:');
  7. for i:=1 to N do begin
  8. A[i]:=random(9)+1;
  9. write (A[i], ' ');
  10. end;
  11. writeln (' ');
  12. nMax:=1;
  13. for i:=1 to N do
  14. if A[i]>A[nMax] then
  15. nMax:=i;
  16. writeln ('Максимальный элемент: A[', nMax, ']=', A[nMax]);
  17. nMax2:=1;
  18. for i:=1 to N do
  19. if (i<>nMax) and (A[i]>A[nMax2]) then
  20. nMax2:=i;
  21. writeln ('Второй максимум: A[', nMax2, ']=', A[nMax2]);
  22. end.
Не работает, когда первый элемент массива имеет максимальное значение - считает это значение за максимальное в обоих случаях. Помогите исправить.

Решение задачи: «Заполните массив случайными числами и найти два максимальных элемента массива и их номера»

textual
Листинг программы
  1. program Project2;
  2. var
  3. n,max,min,nmax,nmin,i:integer;
  4. a:array of integer;
  5. begin
  6. randomize;
  7.   writeln('Введите размерность массива!');
  8.   readln(n);
  9.   setlength(a,n);
  10.   for i := 1 to n do
  11.     a[i]:=random(100)+1;
  12.   write('Массив: ');
  13.   for i := 1 to n do
  14.   write(a[i],' ');
  15.   writeln;
  16.   max:=a[1];
  17.   min:=a[1];
  18.   for i := 1 to n do
  19.     if max<a[i] then
  20.     begin
  21.       max:=a[i];
  22.       nmax:=i;
  23.     end;
  24.   writeln('Максимальный элемент: ', max,' Номер: ', nmax);
  25.   for i := 1 to n do
  26.     if min>a[i] then
  27.     begin
  28.       min:=a[i];
  29.       nmin:=i;
  30.     end;
  31.   writeln('Минимальный элемент: ', min,' Номер: ', nmin);
  32.   readln;
  33.   end.

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

Программа Project2 выполняет следующие действия:

  1. Вводит размерность массива с помощью функции readln.
  2. Создает массив a типа array of integer и устанавливает его длину с помощью функции setlength.
  3. Заполняет массив случайными числами в диапазоне от 1 до 100 с помощью цикла for и функции randomize.
  4. Выводит содержимое массива с помощью цикла for и функции write.
  5. Находит максимальный элемент массива, сохраняя его значение и номер в переменных max и nmax соответственно с помощью цикла for.
  6. Находит минимальный элемент массива, сохраняя его значение и номер в переменных min и nmin соответственно с помощью цикла for.
  7. Выводит найденные значения с помощью функций write и writeln.
  8. Завершает работу программы с помощью функции readln.

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


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

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

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

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

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

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