Написать подпрограмму, которая ищет а четырехзначном числе минимальную четную цифру. Если...

0 голосов
191 просмотров

Написать подпрограмму, которая ищет а четырехзначном числе минимальную четную цифру. Если таких цифр нет, то вернуть -1.

Требования к подпрограмме:

Процедура должна называться "search" и иметь два параметра: первый - четырехзначное натуральное число. Второй - результат работы подпрограммы.


(Паскаль абц (Pascal abc))


Информатика (19 баллов) | 191 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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;

(148k баллов)
0 голосов

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;

(7.2k баллов)