Задать вопрос
30 ноября, 02:07

Решение есть. нужно его объяснить. Опишите на русском языке или на одном из языков программирования алгоритм вычисления разности максимального среди элементов, имеющих четные значения, и максимального среди элементов имеющих нечетные значения, в заданном целочисленном массиве из 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
Ответы (1)
  1. 30 ноября, 05:53
    0
    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.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Решение есть. нужно его объяснить. Опишите на русском языке или на одном из языков программирования алгоритм вычисления разности ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сделать так чтобы Writeln был заменен другим словом и повторялься не больше двух раз program choise; var N_M:integer; writeln (' введи номер месяца ') ; readln (N_M) ; case N_M of 1:writeln (' январь ') ; 2:writeln (' февраль ') ;
Ответы (1)
Как сделать теперь без массива (паскале) ? var nm:array of integer; j, l:integer; begin nm: = new integer[3] (random (20), random (20), random (20)) ; writeln ('nm[0] = ', nm[0]) ; writeln ('nm[1] = ', nm[1]) ; writeln ('nm[2] = ', nm[2]) ;
Ответы (1)
Запиши программу в Паскале для вычисления площади прямоугольника со сторонами c и m. 1) begin writeln ('Введи длину и ширину прямоугольника c и m') ; readln (c, m) ; s:=c*m; writeln ('s=', s) ; readln; end.
Ответы (1)
Напишите программу вычисления разности максимального среди элементов, имеющих чётные значения, и максимального среди элементов, имеющих нечётные значения, в заданном целочисленном массиве из 10 положительных элементов (в предположении, что в массиве
Ответы (1)
Какое число будет напечатано в результате выполнения программы: var i, k: integer; function f (x: integer) : integer; var m: integer; begin if x < 10 then f : = x else begin m : = f (x div 10) ; if m < x mod 10 then f : = x mod 10 else f : = m; end;
Ответы (1)