§ 6. Использование основных алгоритмических конструкций для решения задач

6.6. Выделение цифр из числа

Пример 6.18. Дано натуральное число n. Сформировать новое число, состоящее из нечетных цифр числа n.

Этапы выполнения задания

I. Исходные данные: n (число).

II. Результат: s (новое число)

III. Алгоритм решения задачи.

1. Ввод исходных данных — число n.
2. 
Определение начального значения нового числа: s = 0.
3. 
В переменной r будем хранить значение разрядной единицы для текущей четной цифры. Начальное значение r = 1.
4. 
В цикле, пока в числе есть цифры:

4.1. Найти остаток от деления текущего числа на 10 (z — текущая цифра числа). 
4.2. Проверить, является ли полученная цифра нечетной. 
4.3. Если цифра нечетная, то умножить ее значение разрядной единицы и прибавить к значению s, увеличить значение разрядной единицы в 10 раз. 
4.4. Уменьшить текущее число в 10 раз.

5. Вывод значения переменной s. Если s = 0, то в числе нет нечетных цифр.

IV. Описание переменных: n, s, r, z – int.

Пример 6.18.

V. Программа:

#include <iostream>

 

using namespace std

 

int main()

{

  int n;

  cout << "n = ";

  cin >> n;

  int s = 0, r = 1;

  while (> 0){

    int z = n % 10;

    if (% 2) {

      s += z * r;

      r *= 10;

    }

    n /= 10;

  }

  if (s)

    cout << "s = " << s << endl;

  else

    cout << "net nechetnyh" << endl;

  return 0;

}

VI. Тестирование.