Написать подпрограмму, которая ищет а четырехзначном числе минимальную четную цифру. если таких цифр нет, то вернуть -1. требования к подпрограмме: процедура должна называться "search" и иметь два параметра: первый - четырехзначное натуральное число. второй - результат работы подпрограммы. (паскаль абц (pascal abc))

anma2 anma2    2   12.08.2019 01:40    20

Ответы
wut123 wut123  04.10.2020 12:24
Procedure search(n: integer; var mineven: integer);
begin
  mineven := 10;
  while n > 0 do
  begin
    var last := n mod 10;
    if (last mod 2 = 0) and (last < mineven) then
      mineven := last;
    n := n div 10;
  end;
  if mineven = 10 then
    mineven := -1;
end;
ПОКАЗАТЬ ОТВЕТЫ
Waschbär1115 Waschbär1115  04.10.2020 12:24
Program prog;
function Search(n: integer): integer;
var
  input: array[1..4] of integer;
  even: array[1..4] of integer;
  atLestOne: boolean;
begin
  input[1] := n div 1000;
  input[2] := n mod 1000 div 100;
  input[3] := n mod 100 div 10;
  input[4] := n mod 10;
  if (input[1] mod 2 = 0)
    begin
      even[1] := input[1];
      atLestOne := True;
    end;
  if (input[2] mod 2 = 0)
    begin
      even[2] := input[2];
      atLestOne := True;
    end;
  if (input[3] mod 2 = 0)
    begin
      even[3] := input[3];
      atLestOne := True;
    end;   
  if (input[4] mod 2 = 0)
    begin
      even[4] := input[4];
      atLestOne := True;
    end;
  if atLestOne = True then
    Search := Low(even)
  else
    Search := -1;
end;
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика