Дано 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.

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. Объявляются переменные: n, c, i, k, a и c.
  2. Задается диапазон переменной i от n до 1.
  3. В цикле repeat-until считывается число c, пока оно не будет в пределах от 100000 до 999999.
  4. Для каждой цифры k (которую считали на предыдущем шаге) проверяется, является ли она нечетной. Если да, то k удваивается, иначе к нему прибавляется 3.
  5. Полученная цифра k добавляется в массив a.
  6. Число c делится на 10, чтобы получить следующую цифру.
  7. Цикл for повторяется от 1 до n, где n - это количество цифр в числе c.
  8. После завершения всех итераций выводится результат - массив a.

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

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