Для каждого числа исходной последовательности удалить из записи числа все цифры, большие 5 - C (СИ)

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

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

Написать программу. Дана последовательность из n натуральных чисел. Для каждого числа исходной последовательности удалить из записи числа все цифры, большие 5, и подсчитать количество цифр в записи числа. Сформировать новую последовательность, поместив в неё для каждого исходного числа два значения - преобразованное число и количество цифр в записи числа. Упорядочить новую последовательность попарно по возрастанию чисел. Вывести исходную и полученную последовательности на экран. В программе использовать функцию, которая удаляет из записи числа все цифры, большие 5, и возвращает количество цифр в записи числа

Решение задачи: «Для каждого числа исходной последовательности удалить из записи числа все цифры, большие 5»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <limits.h>
  4. const int N = 10;
  5. int power(int x, int n)
  6. {
  7.     int i, z = 1;
  8.     for(i = 0; i < n; ++i)
  9.         z *= x;
  10.     return z;
  11. }
  12. int main()
  13. {
  14.     int arr[N];
  15.     int i, b, x, k, y, m = 0, n = 0;
  16.     for(i = 0; i < N; ++i){
  17.         arr[i] = rand() % INT_MAX;
  18.         printf("%d\t", arr[i]);
  19.         b = arr[i];
  20.         while(b > 0){
  21.             x = b % 10;
  22.             b = b / 10;
  23.             ++n;
  24.         }
  25.         b = arr[i];
  26.         k = n - 1;
  27.         while(b > 0){
  28.             y = b / power(10, k);
  29.             b = b - y * power(10, k);
  30.             --k;
  31.             if(y <= 5){
  32.                 printf("%d", y);
  33.                 ++m;
  34.             }
  35.         }
  36.         printf("\t%d\n", m);
  37.         n = 0;
  38.         m = 0;
  39.     }
  40.     return 0;
  41. }

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

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

  1. Включаются необходимые заголовочные файлы
  2. Задаются значения констант
  3. Определяется функция для возведения числа в степень
  4. В функции main() создается массив и инициализируется случайными числами
  5. Выполняется цикл по элементам массива
  6. Для каждого элемента выполняется следующее действие:
    • Число делится на цифры, начиная с самой большой
    • Цифры, большие 5, удаляются из числа
    • Выводится количество цифр, меньших или равных 5
  7. После обработки каждого элемента массива, счетчики цифр и итераций сбрасываются в ноль

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


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

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

7   голосов , оценка 4.143 из 5

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

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

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