Из двух чисел получить новое путём замены чётных цифр первого числа на наибольшую цифру второго числа - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Условие: Разработать программу для реализации указанного действия над целыми числами без знака (longint) в десятичной системе счисления. Написать две программы: 1) с использованием массивов, т.е. число представить в виде массива цифр, произвести необходимые действия, из массива цифр получить новое число и результат вывести в виде нового числа; 2) без использования массивов. Задание: Из двух чисел получить новое путем замены четных цифр первого числа на наибольшую цифру второго числа (231, 73 → 731)

Решение задачи: «Из двух чисел получить новое путём замены чётных цифр первого числа на наибольшую цифру второго числа»

textual
Листинг программы
var
  m, n: Longint;
  an, d, j: Integer;
  a: array [1..10] of Integer;
begin
  ReadLn(m,n);
  an:=0; repeat Inc(an); a[an]:=n mod 10; n:=n div 10; until n=0;
  d:=a[1]; for j:=2 to an do if d<a[j] then d:=a[j];
  an:=0; repeat Inc(an); a[an]:=m mod 10; m:=m div 10; until m=0;
  for j:=1 to an do if not Odd(a[j]) then a[j]:=d;
  m:=0; for j:=an downto 1 do m:=m*10+a[j];
  WriteLn(m);
end.

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы