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К переменной ответа добавляем новую цифру, домноженную на соотв. степеньВыводим ответ
унарный * - модификатор указателя, например, когда мы обявляем функцию void a(TypeName b); подоразумевается, что функция принимает переменную b типа данных TypeName, а если же напишем void a(TypeName* b); то подоразумеваем, что функция принимает указатель б типа данных TypeName
ответ: 4
П.с. задача не корректна, поскольку в вариантах ответа записаны не обьявления функции, а ее вызов. А если надо передать обыкновенную переменную по указателю, тогда используем модификатор ссылки &
void func(TypeName* a);
//...
TypeName a0 = 0;
TypeName* a1 = &a0;
func(&a0);
func(a1);