• Предмет: Информатика
  • Автор: anna4kalitvinenko
  • Вопрос задан 2 года назад

Задачи по программированию
(в паскале) .
Помогите плиз, если разбираетесь в информатике!
Хелп

Приложения:

Ответы

Ответ дал: maksimonchik
1

Ответ:

var N, ans, digit: integer;

begin

 readln(N);

 for var i := 0 to 4 do

 begin

   digit := N div round(power(10, i)) mod 10;

   if digit mod 2 = 0 then

     digit := digit + 1;

   ans := ans + digit * round(power(10, i));

 end;

 writeln(ans);

end.

Объяснение:

  • Считываем число
  • В цикле 5 раз для каждой цифры:
  • Определяем эту цифру целочисленным делением на 10 в соотв. степени и взятием остатка от деления на 10
  • Если цифра четная, то добавляем к ней 1
  • К переменной ответа добавляем новую цифру, домноженную на соотв. степень
  • Выводим ответ

anna4kalitvinenko: Спйасибо,что старались помочь,но этот ответ не защитали((
maksimonchik: Странно, а какой вердикт дает система? Просто неверный ответ на каком-то тесте или ошибка компиляции/исполнения может быть? Это же можно посмотреть?
anna4kalitvinenko: конечно.там ошибка компиляции.ему не нравится pover(integer,^integer
BobbyFresnel: Оно и не откомпилируется. Это же Украина, там русский компилятор PascalABC.NET стараются лишний раз нигде на ставить. Нет его и на Q-BIT, там только Free Pascal, а в нем конструкция for var отсутствует в силу древности языка.
anna4kalitvinenko: понятно
Вас заинтересует