Есть ответ 👍

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

250
407
Посмотреть ответы 2

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


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.

 

 

GasanDJ
4,4(44 оценок)

Var x, y, z, m, n, min, max: integer; begin readln(x,y,z); m: =x+y+z; n: =x*y*z; if m> n then begin max: =m; min: =n; end else begin max: =n; min: =m; end; writeln('max(',m,',',n,')=',max); writeln('min(',m,',',n,')=',min); end.

Популярно: Информатика