Форум программистов, компьютерный форум, киберфорум С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
1 / 4 / 3
Регистрация: 14.07.2022
Сообщений: 107

Пройтись циклом по цифрам числа (начиная с первой цифры)

29.09.2022, 17:42. Показов 1901. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Есть число типу int (произвольной длины), к примеру "1234", нужно циклом пробежаться по каждой цифре (с первой цифры ), то есть в первой итерации хочу поработать с "1", на второй итерации работаю с "2" и т.д. (можно использовать массивы - если так будет проще, но прошу без всяких векторов, стеков ...) P.S - знаю как идти с конца - удалением последней цифры, а вот как с начала
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.09.2022, 17:42
Ответы с готовыми решениями:

Все цифры числа, начиная с первой
Напишите процедуру, которая выводит на экран в столбик все цифры переданного ей числа, начиная с первой Пример: Введите натуральное...

Вывести в столбик цифры введённого числа, начиная с первой
Напишите программу, которая выводит в столбик цифры введённого числа, начиная с первой. Используйте процедуру. Входные данные ...

Вывести в столбик все цифры числа, начиная с первой
Здравствуйте. x=int(input()) while x>0: print(x%10) x=x//10 вот такое вот, выводит все цифры числа с конца. а как...

6
 Аватар для SmallEvil
3799 / 2724 / 766
Регистрация: 29.06.2020
Сообщений: 10,015
29.09.2022, 17:58
Цитата Сообщение от Kib1643 Посмотреть сообщение
в первой итерации хочу поработать с "1"
Можно с помощью рекурсии или Стека (структура данных).

Добавлено через 56 секунд
Можно и массив использовать "как Стек"...
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
37675 / 20920 / 4288
Регистрация: 12.02.2012
Сообщений: 34,392
Записей в блоге: 14
29.09.2022, 18:09
Лучший ответ Сообщение было отмечено Kib1643 как решение

Решение

Kib1643, вот печать разрядов от старшего к младшему... Без массивов, стеков и прочего:

C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    int n = 12534;
 
    int q=(int) (log10(n)+0.5);    
 
    int p=1;
    for (int i=1; i<=q; i++) p*=10;
 
    while (p >=1 )
    {
        cout << n/p << endl;   // n/p - это очередной разряд. Делай с ним, что хочешь.
        n=n%p;
        p/=10;
    }
 
    return 0;
}
1
 Аватар для SmallEvil
3799 / 2724 / 766
Регистрация: 29.06.2020
Сообщений: 10,015
29.09.2022, 18:09
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int get_digits(int *digits, unsigned num){
    int dc=0; // количество цифр
    do{
        digits[dc++] = num%10;
        num/=10;
    }while(num!=0);
    return dc;
}
 
int main(){
    int digits[10];
    int dsize = get_digits(digits, 1234);
    while(dsize--)
        cout << digits[dsize];
}
2
Нарушитель
9812 / 5351 / 1216
Регистрация: 12.03.2015
Сообщений: 25,087
29.09.2022, 18:11
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
// функция возвратит k-ю цифру числа х (нумерация с 1)
// при k > кол-ва цифр функция вернёт 0.
unsigned get_digit(unsigned x, unsigned k)
{
  assert(k); // нумерация с 1
  unsigned a = 0;
  while (x) a = 10 * a + (x % 10), x /= 10;
  for (--k; k && a; k--) a /= 10;
  return a % 10;
}
2
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
29.09.2022, 18:13
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int n=1234,k,e;
    k = log10(n) + 1;
    e = pow(10, k-1);
 
    for (int i = 0; i < k; i++) {
        cout << n / e % 10 << '\n';
        e /= 10;
    }
}
2
 Аватар для SmallEvil
3799 / 2724 / 766
Регистрация: 29.06.2020
Сообщений: 10,015
29.09.2022, 18:20
И для коллекции рекурсией :
C++ Скопировано
1
2
3
4
5
6
7
8
9
#include <iostream>
void get_digits_R(unsigned num){
    if (num/10)
        get_digits_R(num/10);
    std::cout << num%10; // тут работаем с цифрами начиная от старших разрядов
}
int main(){
    get_digits_R(1234);
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.09.2022, 18:20
Помогаю со студенческими работами здесь

Упорядочить массив по десятичным цифрам последовательно начиная с последней цифры
Помогите решить. Дан целочисленный массив Х. Программа вводит целое К и все числа массива Х упорядочивает по последней цифре и...

Вывести три цифры введенного трехзначного числа, начиная с первой, разделённые пробелами
Напишите программу, которая вводит трёхзначное число и разбивает его на цифры. Например, при вводе числа 123 программа должна вывести «1 2...

Вывести на экран в столбик все цифры переданного ей числа, начиная с первой. Процедуры
помогите пожалуйста. нужно написать процедуру, которая выводит на экран в столбик все цифры переданного ей числа, начиная с первой. ...

Напишите программу, которая выводит на экран все цифры числа, начиная с первой
Напишите программу, которая выводит на экран все цифры числа, начиная с первой. Входные данные Входная строка содержит натуральное...

Напишите программу, которая вводит на экран в столбик все цифры числа, начиная с первой
1) напишите программу которая вводит на экран в столбик все цифры числа начиная с первой


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Сложность Колмогорова: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
C++26: Индексирование пакетов и метапрограммиро­вание
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
Состояние гонки в C#: подводные камни многопоточного программировани­я
UnmanagedCoder 20.03.2025
Что такое состояние гонки? Это ситуация, когда результат программы непредсказуемо меняется в зависимости от порядка выполнения потоков. Проще говоря, два или более потока пытаются одновременно. . .
Next.js для разработки React: преимущества серверного рендеринга
Reangularity 20.03.2025
Next. js решает классическую проблему React-приложений: медленную первоначальную загрузку и плохую индексацию поисковиками. Вместо того чтобы заставлять браузер пользователя выполнять всю работу по. . .
JUnit или TestNG: Выбираем Java-фреймворк для тестирования
Javaican 20.03.2025
История тестовых фреймворков в Java началась в конце 90-х, когда Кент Бек и Эрих Гамма разработали JUnit - инструмент, который перевернул представление разработчиков о модульном тестировании. JUnit. . .
Разбиваем монолит на два микросервиса и реализуем CI/CD
ArchitectMsa 20.03.2025
Когда команда растет, а функциональность монолита расширяется, поддерживать и развивать такую систему становится все труднее. Разработчики начинают тратить много времени на разбор сложных. . .
Python и PDF: Создание и редактирование файлов
py-thonny 20.03.2025
Работа с PDF-документами – одна из популярных задач в современной разработке. Python предлагает несколько инструментов для создания, чтения и редактирования PDF-файлов, среди которых особенно. . .
Корутины в Unity и производительно­сть WaitForSeconds
GameUnited 20.03.2025
Разработчики игр на Unity часто сталкиваются с вопросом: как выполнять действия через определённые промежутки времени, не блокируя основной поток игры? Тут как раз и приходят на помощь корутины —. . .
Криптография в PHP
Jason-Webb 20.03.2025
PHP предоставляет много криптографических возможностей: от встроенных функций хеширования до полноценных библиотек шифрования — арсенал средств довольно обширен. Но всё это бесполезно без понимания. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер