Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Gameer
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 74
#1

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

30.06.2014, 21:42. Просмотров 2036. Ответов 8
Метки нет (Все метки)

Помогите пожалуйста написать программу.
Дано произвольное целое число n. Написать программу, которая разбивает число n на цифры и выводит их на экран; подсчитывает сколько цифр в числе n; находит сумму цифр числа n; меняет порядок цифр числа n на обратный. Увеличить полученное реверсном число в 2 раза.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 21:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая разбивает число n на цифры и выводит их на экран (C++):

Составьте программу без использования строковых переменных, которая разбивает число n на цифры и печатает их в - C++
Приписать по единице в начало и конец записи числа n.

Написать программу, которая принимает целое положительное число и выводит на экран: - C++
Помогите пожалуйста решить задачу с оператором switch . Написать программу, которая принимает целое положительное число и выводит на...

Написать программу-фильтр, которая при нажатии любых клавиш выводит на экран только буквы и цифры, при этом указывая, что выводится: буква или цифра. - C++
Помогите,плиз... Написать программу-фильтр, которая при нажатии любых клавиш выводит на экран только буквы и цифры, при этом указывая,...

Написать программу, которая выводит на экран шаблон - C++
Ребята, прошу вашей помощи! Никак не могу разобраться с этой лабораторной работой. Преподаватель толком так ничего не объяснил, ссылаясь...

Написать программу которая выводит на экран график - C++
Напишите программу, которая выводит на экран следующий график: * * * * * * * * * * * * * * * * * * * * * * * * *...

Написать программу, которая выводит на экран изображение - C++
Need help!!!! Помогите решить задачи на языке С++!!! 1) http://s43.***********/i099/0912/73/1ad82a4c22cf.jpg 2)...

8
Петррр
5970 / 3407 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
30.06.2014, 21:52 #2
Могу еще борщ сварить и в постель подать.
0
Gameer
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 74
30.06.2014, 22:12  [ТС] #3
Не, ну серьезно прошу помощи, пожалуйста. Очень надо.
0
NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 89
30.06.2014, 22:14 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <algorithm>
 
using namespace std;
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    string number("");
    int sum(0);
    vector<int> digits;
 
    //заносим число в строку number
    cout << "Введите целое число: ";
    getline(cin, number);
 
    //заносим каждую цифру в вектор и сразу тут же считаем сумму
    for_each(number.begin(), number.end(), [&digits, &sum](char c){ digits.push_back(c - '0'); sum += c - '0'; });
 
    //выводим все цифры через пробел
    cout << "Цифры содержащиюся в этом числе: ";
    for_each(digits.begin(), digits.end(), [](int x){ cout << x << " "; });
    cout << endl;
 
    //выводим кол-во цифр
    cout << "Кол-во цифр в этом числе: " << digits.size() << endl;
 
    //сумма всех цифр
    cout << "Сумма всех цифр в этом числе: " << sum << endl;
 
    //реверс число
    cout << "Реверс число: ";
    reverse(digits.begin(), digits.end());
    for_each(digits.begin(), digits.end(), [](int x){ cout << x; });
    cout << endl;
 
    //реверс число * 2
    cout << "Реверс число * 2: ";
    for_each(digits.begin(), digits.end(), [](int x){ cout << x * 2; });
    cout << endl;
 
    cout << endl;
    system("PAUSE");
    return 0;
}
1
Gameer
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 74
30.06.2014, 22:19  [ТС] #5
Спасибо большое, только мы не учили таких переменных еще, максимум что do while, while for, случайные цифры и еще не сколько библиотек. Можно как то упростить до минимума ? А то спросят а я не знаю еще что это. Хотя за ответ спасибо огромное
0
NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 89
30.06.2014, 22:24 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Надеюсь контейнер vector вы учили, иначе придется использовать динамический массив.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
 
using namespace std;
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    string number("");
    int sum(0);
    vector<int> digits;
 
    //заносим число в строку number
    cout << "Введите целое число: ";
    getline(cin, number);
 
    //заносим каждую цифру в вектор и сразу тут же считаем сумму
    for (int i = 0; i < number.size(); i++)
    {
        digits.push_back(number[i] - '0');
        sum += number[i] -'0';
    }
 
    //выводим все цифры через пробел
    cout << "Цифры содержащиюся в этом числе: ";
    for (int i = 0; i < digits.size(); i++)
    {
        cout << digits[i] << " ";
    }
    cout << endl;
 
    //выводим кол-во цифр
    cout << "Кол-во цифр в этом числе: " << digits.size() << endl;
 
    //сумма всех цифр
    cout << "Сумма всех цифр в этом числе: " << sum << endl;
 
    //реверс число
    cout << "Реверс число: ";
    for (int i = digits.size() - 1; i >= 0; i--)
    {
        cout << digits[i];
    }
    cout << endl;
 
    //реверс число * 2
    cout << "Реверс число * 2: ";
    for (int i = digits.size() - 1; i >= 0; i--)
    {
        cout << digits[i] * 2;
    }
    cout << endl;
 
    system("PAUSE");
    return 0;
}
1
Gameer
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 74
01.07.2014, 10:20  [ТС] #7
Ох, спасибо как раз то что надо! Спасибо огромное!

Добавлено через 11 часов 46 минут
Долго думал, думал и сделал вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 int number, n1, n2, n3;
 
    cout << "Введiть цiле число (<999): ";
    cin >> number;
 
    if (number < 999 && number > 0) {
 
    if (number / 100 != 0) {
    
    n1 = number / 100;
    number = number % 100;
    n2 = number / 10;
    number = number % 10;
    n3 = number;
 
    cout << "Цифри якi знаходяться в цьому числi: " << n1 << " " << n2 <<" " << n3<<endl;
    cout << "Кiлькiсть цифр в цьому числi: " << 3<<endl;
    cout << "Сума всiх цифр в цьому числi: " << n1 + n2 + n3 << endl;
    cout << "Реверсне число: " << n3<<n2<<n1<<endl;
    cout << "Реверсне число *2: " << (n3*100 + n2*10 + n1)*2<<endl;
    }
 
    else if (number / 10 != 0 && number / 100 == 0) {
    int b;
    b=number;
    b/=10;
    b%=10;
    n1 = number / 10;
    n2 = number % 10;
 
    cout << "Цифри якi знаходяться в цьому числi: " << n1 << "  " << n2<<endl;
    cout << "Кiлькiсть цифр в цьому числi: " << 2<<b<<endl;
    cout << "Сума всiх цифр в цьому числi: " << n1 + n2 << endl;
    cout << "Реверсне число: " <<n2<<n1<<endl;
    cout << "Реверсне число *2: " <<(n2*10 +n1)*2<<endl;
    }
 
    else if (number / 10 == 0) {
 
    cout << "Цифри якi знаходяться в цьому числi: " << number;
    cout << "Кiлькiсть цифр в цьому числi: " << 1<<endl;
    cout << "Сума всiх цифр в цьому числi: " << number << endl;
    cout << "Реверсне число: " <<number<<endl;
    cout << "Реверсне число *2: " <<number*2<<endl;
    }
 
    }
    else cout << "Не вiрно ввели число!";
Добавлено через 32 секунды
Кто подскажет как сделать проверку на 4 цифры ?
0
NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 89
04.07.2014, 01:27 #8
Gameer, Ну тебе придется добавить переменную n4, и придется начинать с деления 4-х значного числа на 1000. Так же не забудь поменять ограничение, вместо 999 - 9999
0
Gameer
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 74
10.07.2014, 09:50  [ТС] #9
А можно как то просто сделать через цикл с математической точки, не используя вектор?
0
10.07.2014, 09:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2014, 09:50
Привет! Вот еще темы с ответами:

Написать программу, которая вводит число из пяти цифр, разделяет число на отдельные цифры - C++
Привет народ скажите как написать программу, которая вводит число из пяти цифр, разделяет число на отдельные цифры и печатает их...

Написать программу которая выводит на экран заполненный или - C++
Помогите написать программу Написать программу которая выводит на экран заполненный или Программа должна принимать три возможных...

Написать программу, которая выводит на экран вращающуюся фигуру - C++
Нужно написать программу, которая выводит на экран вращающуюся фигуру.

Написать программу, которая выводит на экран предложения из файла - C++
Требуется написать программу, которая считывает из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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