• Решение есть.нужно его объяснить.Опишите на русском языке или на одном из языков программирования алгоритм вычисления разности максимального среди элементов, имеющих четные значения, и максимального среди элементов имеющих нечетные значения, в заданном целочисленном массиве из 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.

Ответы 1

  • 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.

     

     

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years