Найти количество разных цифр в числе произвольной длины - QBasic

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

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

Задано число произвольной длины. Надо сосчитать в нем число разных цифр. Это программа (мечта программиста) работает круто.
Листинг программы
  1. CLS
  2. DIM S AS STRING
  3. DIM p AS STRING
  4. DIM o AS STRING
  5. S = "69573384757755"
  6. p = "1234567890"
  7. FOR i = 1 TO 10
  8. o = MID$(p, i, 1)
  9. k = INSTR(S, o)
  10. IF k THEN n = n + 1
  11. NEXT i
  12. PRINT "N ="; n
  13. END

Решение задачи: «Найти количество разных цифр в числе произвольной длины»

textual
Листинг программы
  1. CLS
  2. DIM s AS STRING
  3.  
  4. s = "69573384757755"
  5.  
  6. FOR i = 0 TO 9
  7.    n = n - (INSTR(s, CHR$(i + 48)) > 0)
  8. NEXT i
  9.  
  10. PRINT n
  11. END

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

В этом коде выполняется следующая последовательность действий:

  1. Установка переменной s равной строке 69573384757755.
  2. Создание переменной i и установка её значения равным 0.
  3. Создание переменной n и установка её значения равным 10 (предполагается, что в числе произвольной длины будет максимум 10 цифр).
  4. Запуск цикла FOR от 0 до 9 (для проверки каждой цифры от 0 до 9).
  5. Внутри цикла выполняется следующее: 5.1. Выражение INSTR(s, CHR$(i + 48)) используется для поиска в строке s цифры, чей код в таблице символов соответствует значению переменной i (значение переменной i увеличивается на 48 для получения соответствующего кода цифры от 0 до 9). 5.2. Если выражение INSTR(s, CHR$(i + 48)) больше 0, то это означает, что в строке s есть цифра, чей код соответствует значению переменной i, и в этом случае значение переменной n уменьшается на 1 (предполагается, что каждая цифра встречается в числе только один раз).
  6. Цикл завершается, и значение переменной n выводится на экран с помощью команды PRINT.

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


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

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

13   голосов , оценка 4 из 5

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

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

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