Решение есть.нужно его объяснить.опишите на языке или на одном из языков программирования алгоритм вычисления разности максимального среди элементов, имеющих четные значения, и максимального среди элементов имеющих нечетные значения, в заданном целочисленном массиве из 30 положительных элементов.cоnst n = 30; var a: array [1..n] of integer; maxev, maxodd, i: integer; begin for i=1 to n readln(a); maxev : =0; maxodd : =0; for i : =1 to n do if (a div 2)*2 = a then begin if a > = maxev then maxev : =a; end else if a > = maxodd then maxodd : =a; writeln (maxev - maxodd); end.

german150801 german150801    2   19.05.2019 03:40    0

Ответы
Данииб Данииб  12.06.2020 08:46

Const

  N = 30;

Var

  a: array [1..N] of integer;

  MaxEv, MaxOdd, I: integer;

begin

  for i := 1 to N do

  begin

    write('a[', i , '] = ');

    readln(a[i]);

  end;

  MaxEv := 0;

  MaxOdd := 0;

  For I := 1 to N do { перебираем все элементы массива}

    if a[i] mod 2 = 0 then { проверяем делится ли текущий элемент на 2 без остатка}

    begin

      if a[i] > MaxEv then {если да, то проверяем больше ли найденного до этого наибольшего четного}

        MaxEv := a[i]; {присваиваем новое наибольшее четное значение}

     end

     else

       if a[i] > MaxOdd then {если нет, то проверяем больше ли найденного до этого наибольшего нечетного}

         MaxOdd := a[i]; {присваиваем новое наибольшее нечетное значение}

  Writeln ('MaxEv - MaxOdd = ', MaxEv, ' - ', MaxOdd, ' = ', MaxEv - MaxOdd);

end.

 

 

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика