Дано 6-ти значное число. Каждую нечетную цифру умножить на 2, а к каждой четной прибавить 3 - Pascal ABC
Формулировка задачи:
Дано 6-ти значное число. Каждую нечетную цифру умножить на 2, а к каждой четной прибавить 3.
Вывести все полученные числа поочередно.
Помогите составить порграмму, моя не работает ><
Решение задачи: «Дано 6-ти значное число. Каждую нечетную цифру умножить на 2, а к каждой четной прибавить 3»
textual
Листинг программы
const n=6;
var c,i,k:integer;
a:array[1..n] of integer;
begin
repeat
write('Введите 6-значное число c=');
readln(c);
until(c>99999)and(c<1000000);
for i:=n downto 1 do
begin
k:=c mod 10;
if odd(k) then k:=k*2
else k:=k+3;
a[i]:=k;
c:=c div 10;
end;
for i:=1 to n do
write(a[i],' ')
end.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Объявляются переменные: n, c, i, k, a и c.
- Задается диапазон переменной i от n до 1.
- В цикле repeat-until считывается число c, пока оно не будет в пределах от 100000 до 999999.
- Для каждой цифры k (которую считали на предыдущем шаге) проверяется, является ли она нечетной. Если да, то k удваивается, иначе к нему прибавляется 3.
- Полученная цифра k добавляется в массив a.
- Число c делится на 10, чтобы получить следующую цифру.
- Цикл for повторяется от 1 до n, где n - это количество цифр в числе c.
- После завершения всех итераций выводится результат - массив a.