Замена цифр числа,не используя массивов - QBasic

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

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

Доброго времени суток. Нужна помощь по данной задаче: С клавиатуры вводится число n и k (произвольные).Нужно заменить в числе n все нечетные цифры на данное число k(Создавать и использовать массивы нельзя). Н-р: Ввод: n=1233461 k=5 Вывод:m=1533551 Вообщем,не будь бы запрета на массив,то никаких проблем бы и не было,а так..Есть идея,как делать,но оформить в бэйсике не получается.Суть моей идеи в том,чтобы в цикле While n>0 брать последнюю цифру,проверять её на четность-и при надобности менять,с этим как бы разобрался,но проблема в самом сборе конечного числа. Заранее спасибо

Решение задачи: «Замена цифр числа,не используя массивов»

textual
Листинг программы
  1. DECLARE FUNCTION M! (i!)
  2. CLS
  3. DIM SHARED N AS STRING
  4. DIM k AS STRING
  5.  
  6. N = "1233461"
  7. k = "5"
  8.  
  9. FOR i = 1 TO LEN(N)
  10.    IF M(i) MOD 2 = 0 THEN MID$(N, i, 1) = k
  11. NEXT i
  12. PRINT N
  13. END
  14.  
  15. FUNCTION M (i)
  16.    M = VAL(MID$(N$, i, 1))
  17. END FUNCTION

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

В этом коде выполняется замена чётных цифр в числе, записанном в строке N, на число k.

  1. Объявляется функция M с одним аргументом i.
  2. В функции M происходит получение числового значения из строки с помощью функции VAL.
  3. В основной программе объявляются две строки: N и k.
  4. Строка N содержит число для обработки.
  5. Строка k содержит число, на которое должны быть заменены чётные цифры.
  6. Цикл FOR проходит по всем символам строки N.
  7. Если текущий символ является чётным числом, то он заменяется на число k с помощью функции MID$ и оператора присваивания.
  8. После завершения цикла выводится обновлённая строка N. Функция M и цикл FOR выполняются только один раз, так как количество итераций цикла определяется длиной строки N, а функция M используется только внутри цикла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

9   голосов , оценка 4.222 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы