Предмет: Информатика,
автор: KMLV
Что я не так делаю?
паскаль
поиск двух максимальных чисел
program ee;
const N = 5;
var
a : array [1..5]of integer;
iMax,max, iiMa,ma ,i : integer;
begin
for i:= 1 to N do begin
read (a[i]);
end;
write (' числа ', a );
iMax := a[1];// присваиваем для начального сравнения
for i := 1 to N do
if a[i] > iMax then//сравниваем 5 чисел и берём наибольшее
begin
iMax := a[i];//число
max := i;//на каком месте
end;
write (' первое максимальное значение ', iMax,' ',max );
iiMa := a[1];//присваиваем для начального сравнения
ma := 1;//
for i := 1 to N do//
if (iiMa < a[i])and(ma < max)then// ищем второе наибольшее число
begin
iiMa := a[i];//
ma := i//
end;
write (' второе максимальное значение ', iiMa,' ', ma);
end.
KMLV:
Условие: Ввести с клавиатуры массив из пяти элементов, найти два максимальных элемента и их номера.
Ответы
Автор ответа:
1
Нашел. у тебя ma изначально 1, тоесть условие ma<>max почти всегда не будет иметь значения
ma:=2; для чего это?
Похожие вопросы
Предмет: Геометрия,
автор: standoffgovno201
Предмет: Геометрия,
автор: oljasdgk
Предмет: Химия,
автор: tramplekon1
Предмет: Математика,
автор: Olgaras
Предмет: Математика,
автор: PinkElephant