Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anton240971
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 8
#1

Деление числа на разряды - C++

21.01.2014, 22:04. Просмотров 938. Ответов 11
Метки нет (Все метки)

Написать программу, выводящую на экран разряды введенного числа и их сумму.
То есть, если пользователь ввел число 3746, программа выдаст следующее:
6
4
7
3
Сумма чисел : 20;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2014, 22:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Деление числа на разряды (C++):

Деление числа на разряды - C++
Дан массив из n натуральных четырёхзначных чисел. Вывести на экран только те, у которых сумма первых двух цифр равна сумме двух последних. ...

Универсальное деление на разряды - C++
Здравствуйте, нужна помощь с делением на разряды, цели: Нужно чтобы делилось 2-значное, 3-значное, 4-значное и т.д. Пробовал так: ...

Разделение числа на разряды - C++
Подскажите,алгоритм программы,которая выполняет разделение числа на разряды. Т.е вводится число,например, 456 и программа выводит...

Вывести все разряды числа наоборот - C++
Задача: вывести все разряды числа наоборот. Допустим 9876 И оно должно стать 6789

Вывод числа с разбитием на разряды (cout) - C++
Добрый время суток! Вот чую зря создавал новую тему но все же... Вот хоть убейте не помню как сделать таким образом что бы: ...

Зеркально поменять местами разряды младшего байта каждого числа - C++
Добрый день. Помогите пожалуйста решить задачу, весьма срочно, родина вас не забудет друзья) Задача: Зеркально поменять местами разряды...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
21.01.2014, 22:05 #2
используй деление на 10 и остаток от деления на 10
Anton240971
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 8
21.01.2014, 22:16  [ТС] #3
Можно мне как чайнику скрин программы?)
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.01.2014, 22:26 #4
Цитата Сообщение от Anton240971 Посмотреть сообщение
Можно мне как чайнику скрин программы?)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    int x,k,s=0;
std::cin>>x; 
    do
    {
        k=x%10;
        x/=10;
        s+=k;
        std::cout<<k<<"\n";
    }
    while (x>10);
    std::cout<<x<<"\n";
    s+=x;
    std::cout<<"Summa:"<<s<<"\n";
    std::system("Pause");
}
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
21.01.2014, 22:31 #5
Цитата Сообщение от mustimur Посмотреть сообщение
do
{
k=x%10;
x/=10;
s+=k;
std::cout<<k<<"\n";
}
while (x>10);
то же самое с циклом while
C++
1
2
3
4
5
6
7
while(x)
{
k=x%10;
x/=10;
s+=k;
std::cout<<k<<"\n";
}
с циклом for
C++
1
2
3
4
5
6
for(;x;x/=10)
{
k=x%10;
s+=k;
std::cout<<k<<"\n";
}
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.01.2014, 22:50 #6
Цитата Сообщение от ValeryS Посмотреть сообщение
то же самое с циклом while
А я и не претендую на единственность решения))), можно вообще без цикла если мы упражняемся в кодопесании:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    int x,k,s=0;
std::cin>>x; 
   
 ps10: 
      k=x%10;
        x/=10;
        s+=k;
        std::cout<<k<<"\n";
    
    if (x>10) goto ps10;
    std::cout<<x<<"\n";
    s+=x;
    std::cout<<"Summa:"<<s<<"\n";
    std::system("Pause");
}
Добавлено через 1 минуту
в смысле явно объявленного цикла
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
21.01.2014, 22:53 #7
Цитата Сообщение от mustimur Посмотреть сообщение
А я и не претендую на единственность решения)))
а я тебе ничего и не говорю
это для ТС
Цитата Сообщение от mustimur Посмотреть сообщение
goto ps10;
моветон
а еще можно рекурсией
перевод числа в строку
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.01.2014, 22:59 #8
Цитата Сообщение от ValeryS Посмотреть сообщение
перевод числа в строку
мне нравится, но сумму находить экзотично придется
Цитата Сообщение от ValeryS Посмотреть сообщение
а еще можно рекурсией
Сильная штука, я ее на определители первый раз опробовал, но ей только новичкам показывать и пугать объяснением)))
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
21.01.2014, 23:03 #9
Цитата Сообщение от mustimur Посмотреть сообщение
мне нравится, но сумму находить экзотично придется
Да че там экзотичного
C++
1
2
for(int i=0,str[i],i++)
  sum+=str[i]-'0';
непривычно, да
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.01.2014, 23:15 #10
Цитата Сообщение от ValeryS Посмотреть сообщение
Да че там экзотичного
Вычитать символ это не экзатично ли?)) Я такое ни очень люблю: понятно что кодировка цифр подряд идет, но все равно взгляд режет)
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
21.01.2014, 23:23 #11
Цитата Сообщение от mustimur Посмотреть сообщение
Вычитать символ это не экзатично ли?))
неа
вот так более экзотично
C++
1
2
for(int i=0,str[i],i++)
   sum+=str[i]&0x0F;
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.01.2014, 23:29 #12
это уже по-китайски или японски иероглифы пошли. Только клинопись на ассемблере не показывай)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2014, 23:29
Привет! Вот еще темы с ответами:

Определить сумму цифр во второй половине натурального числа (младшие разряды) - C++
Дано натуральное число N(N &gt; 9). Определить сумму цифр во второй половине числа (младшие разряды). Пример. N=12 345 678. Сумма составляет 5...

Дано натуральное число N(N > 9). Определить сумму цифр в первой половине числа (старшие разряды). Пример. N=12 - C++
Дано натуральное число N(N &gt; 9). Определить сумму цифр в первой половине числа (старшие разряды). Пример. N=12 345 678. Сумма...

Определить функции: сумма цифр числа, вращение числа (цифры - в обратном порядке), деление чисел (результат - действительное число) - C++
Определить класс: целое число. Определить функции: сумма цифр числа, вращение числа (цифры - в обратном порядке), деление чисел (результат...

Деление числа - C++
Извините за дубляж темы, это уже много раз было, но такая задача: 1) от многозначного числа отделить последнюю цифру, например 123456,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.01.2014, 23:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru