Информатика, вопрос задал sryder , 2 года назад

Как найти максимальное и ПРЕДМАКСИМАЛЬНОЕ число кратное двум в массиве? Нужен код (Паскаль)
ВАЖНОЕ условие:
И максимальное и предмаксимальное нужно найти одним циклом!!!

Ответы на вопрос

Ответил BobbyFresnel
1

// PascalABC.NET

begin

 var n := ReadInteger('n =');

 var a := ArrRandom(n, -99, 99);

 a.Println;

 var (max, predmax) := (a[0], a[0]);

 for var i := 1 to a.High do

   if a[i].IsEven then

     if a[i] > max then (max, predmax) := (a[i], max)

     else if (a[i] > predmax) and (a[i] <> max) then predmax := a[i];

 Print(predmax, max)

end.

Объяснение:

Насколько я понял, предмаксимальное число не может быть равно максимальному, даже если в массиве два и более максимальных элементов. Если это не так, удалите условие and (a[i] <> max)

Новые вопросы