Найти два разных max в масииве - Pascal ABC
Формулировка задачи:
Всем доброго времени суток!
Программку набросал, вреде работает, но не до конца. почему-то находит два одинаковых max на одних и тех же местах, а надо чтобы даже если числа msx в массиве одинаковые, то выводился бы разный индекс этих чисел.
Вот код программы:
Всем БОЛЬШОЕ спасибо за помощь!!!
Решение задачи: «Найти два разных max в масииве»
textual
Листинг программы
const N=25; type x=array [1..N] of integer; var a:x; i:integer; max1,max2:integer; imax1, imax2:integer; begin randomize; for i:=1 to N do begin a[i]:= -50+random(101); write (A[i]:4) end; writeln; imax1:=1; max1:=A[1]; if a[2]>max1 then begin max2:=max1;imax2:=1; max1:=a[2];imax1:=2 end else begin max2:=a[2];imax2:=2 end; for i:=3 to n do begin if a[i]>max1 then begin max2:=max1;imax2:=imax1;max1:=a[i];imax1:=i end else if (a[i]=max1)or(a[i]>max2) then begin max2:=a[i];imax2:=i end end; writeln ('1-й Максимальный элемент в массиве=',max1); writeln ('Его индекс=',imax1); writeln ('2-й Максимальный элемент в массиве=',max2); writeln ('Его индекс=',imax2); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д