Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
2 / 1 / 0
Регистрация: 17.02.2019
Сообщений: 32
1

Как из цифр сделать число?

18.03.2019, 19:31. Показов 5749. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Есть 4значное число. Надо сравнить оригинал и инверсию. Y—инверсия числа. Так вот, как "сложить" если имеются отдельные цифры числа?
P.S. Новичок
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main()
{
int N,a,b,c,d,x,y;
a=N/1000;
b=(N/100)%10;
c=(N/10)%10;
d=N%10;
x="a"+"b"+"c"+"d";
y="d"+"c"+"b"+"a";
if(x==y)cout<<"YES";
else cout<<"NO"; 
 
 }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2019, 19:31
Ответы с готовыми решениями:

Дано целое число N — количество цифр и задана каждая из этих цифр. Сформировать число, состоящее из этих цифр, начиная с разряда единиц.
Дано целое число N — количество цифр и задана каждая из этих цифр. Сформировать число, состоящее из...

число а лучше б, если сумма цифр а больше суммы цифр числа б, а в случае равенства сумм цифр, если число а мен
Программа должна быть написана с помощью вложенных циклов.число а лучше б, если сумма цифр а больше...

Изменяя число i от 1 до n (без пробелов) получить число. Посчитать в нем количество каждых цифр. Посчитать общее число цифр
Дано число n меньше или равно 30 000. Изменяя число i от 1 до n будем записывать получившееся число...

Ввести число. Получить другое число, путем удаления цифр 0 и 1, сохранив порядок следования оставшихся цифр.
1)Ввести число. Получить другое число, путем удаления цифр 0 и 1, сохранив порядок следования...

9
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
18.03.2019, 19:35 2
https://www.cyberforum.ru/cgi-bin/latex.cgi?1000 \cdot a + 100 \cdot b + 10 \cdot c + d
1
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
18.03.2019, 19:35 3
Лучший ответ Сообщение было отмечено Nallais как решение

Решение

При сложении нужно учитывать веса цифр, т.е. умножать их на соответствующие степени десятки. Ну и, конечно, "а", "b", "c", "d" надо писать без кавычек:

C++
1
2
x = a * 1000 + b * 100 + c * 10 + d;
y = d * 1000 + c * 100 + b * 10 + a;
1
2 / 1 / 0
Регистрация: 17.02.2019
Сообщений: 32
18.03.2019, 19:40  [ТС] 4
Спасибо. Логику понял. А можно вообще как то из цифр сделать число(на будущее)?
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
18.03.2019, 19:49 5
Цитата Сообщение от Nallais Посмотреть сообщение
на будущее
C++
1
2
3
4
5
int Rev = 0;
while(N) {
 Rev += 10*Rev + N%10;
 N /= 10;
}
Получается число наоборот (реверс, зеркальное)
Если сразу не очень понятно, возьми небольшое число и вручную прокрути его через этот код.

Добавлено через 4 минуты
Вообще, очень полезно алгоритмы прокручивать "на бумажке", вручную. Через пальцы приходит понимание, а что же в самом деле делает этот зануда-компьютер.
3
599 / 436 / 136
Регистрация: 22.11.2017
Сообщений: 1,340
18.03.2019, 20:04 6
Цитата Сообщение от Nallais Посмотреть сообщение
на будущее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    system("color 0A");
 
    //Число на проверку
    size_t n = 848;
    string s = to_string(n);
    string s_reverse(s);
    reverse(s_reverse.begin(), s_reverse.end());
    cout << (s_reverse == s ? "YES" : "NO") << endl;
    
    system("pause");
    return 0;
}
1
599 / 436 / 136
Регистрация: 22.11.2017
Сообщений: 1,340
18.03.2019, 20:17 7
Цитата Сообщение от Nallais Посмотреть сообщение
А можно вообще как то из цифр сделать число(на будущее)?
Можно.
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    system("color 0A");
    wcout.imbue(locale("rus_rus.866"));
    wcin.imbue(locale("rus_rus.866"));
 
    wcout << L"Введите цифры числа слева на право через пробел. В конце точка" << endl;
    string number_string;
    for (;;)
    {
        string s;
        cin >> s;
        if (s.size() != 1u)
        {
            wcout << L"Ошибка" << endl;
            system("pause");
            return 1;
        }
        if (s[0u] == '.')
        {
            break;
        }
        number_string += s;
    }
 
    size_t number = stoi(number_string);
    wcout << L"Из цифр собрано следующее число " << number << endl;
    
    system("pause");
    return 0;
}
Миниатюры
Как из цифр сделать число?  
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
18.03.2019, 20:17 8
SomniPhobia, Ваш пример хороший. Он работает. Но он не дает никакого понимания новичку, что же в самом деле происходит. Он говорит - "До тебя, юноша (юница) уже столько придумали, что тебе с твоим рыльцем тут уже делать нечего! Ищи, пацан (пацанка), тыкайся, может быть чего и скостромится".
Вот у меня такое мнение. Перед тем, как осваивать великолепный класс string и прочие вектора и бусты, начинающему следует понять, а зачем они нужны, на фига этот зоопарк придумали. А для этого надо протереть пару пар штанов (юбок), чуток помучиться, а уж потом открывать для себя новые, прогрессивные подходы.
Возможно, я и не прав. Носителем истины в последней инстанции себя не считаю.
0
SomniPhobia
18.03.2019, 20:37
  #9

Не по теме:


Цитата Сообщение от Байт Посмотреть сообщение
Ваш пример хороший.
Да, хороший.
Цитата Сообщение от Байт Посмотреть сообщение
Он работает.
Да, работает.
Цитата Сообщение от Байт Посмотреть сообщение
Но он не дает никакого понимания новичку, что же в самом деле происходит.
Может и даёт, но мизерное. Пусть новичок спросит меня, что ему не понятно в моём коде - я отвечу.
Цитата Сообщение от Байт Посмотреть сообщение
Он говорит - "До тебя, юноша (юница) уже столько придумали, что тебе с твоим рыльцем тут уже делать нечего! Ищи, пацан (пацанка), тыкайся, может быть чего и скостромится".
Откуда Вы знаете в каком ключе подан данный пример, может с посылкой молниеносного роста в изучении языка C++?
Я согласен, что пример сложный для новичка, но не менее тем, мне чем - то нужно парировать.
Цитата Сообщение от Байт Посмотреть сообщение
Вот у меня такое мнение.
Хорошо, что поделились им. Я люблю выслушивать мнения людей.
До меня, уже форумчане внятно разъяснили новичку как из числа достать цифры арифметическим подходом (если бы и не объяснили, я бы не стал рассказывать / рассматривать арифметику, так как мне удобно строкой).
Я решил с другой стороны подойти, показать вторую половинку Луны.
Цитата Сообщение от Байт Посмотреть сообщение
Перед тем, как осваивать великолепный класс string и прочие вектора и бусты, начинающему следует понять, а зачем они нужны, на фига этот зоопарк придумали.
Я не понимаю, почему некоторые преподаватели начинают знакомить новичков с C++ с классов, а потом переменные учат. Где логика?
Цитата Сообщение от Байт Посмотреть сообщение
А для этого надо протереть пару пар штанов (юбок), чуток помучиться
Да, если человек будет этим в дальнейшем в жизни заниматься, если ему нравится. Нужно стараться, сперва помучится, потом отращивать знания и опыт в той или иной сфере.
Иначе (если дело вызывает отвращение) - напишет на форум или закажет - ему помогут. В случае, если тебя воротит от того или иного, то я считаю, что лучше попросить того, кому нравится это и не мучиться самим. Лучше вообще в этом случае сменить нишу.
Цитата Сообщение от Байт Посмотреть сообщение
Возможно, я и не прав.
Я тоже субъект и не могу объективно что - то говорить. Ни один человек не может говорить объективно о чём либо, ведь он является субъектом, наблюдателем, имеющим своё мнение.
Цитата Сообщение от Байт Посмотреть сообщение
Носителем истины в последней инстанции себя не считаю.
Философия. Смотря какой истины. Есть истина true. Есть истина, что скрыта под капотом Вселенной. Разница ощутима. Я и говорю, как любой человек - субъект может лапать своими ручками саму Истину?

0
Байт
18.03.2019, 20:53     Как из цифр сделать число?
  #10

Не по теме:

SomniPhobia, я вижу, что наши позиции не так уж далеки, как может показаться на первый взгляд. Да, есть некоторые различия в деталях, но они не столь существенны, чтобы о них спорить Удачи вам!

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2019, 20:53

Натуральное число, в котором n цифр, если сумма цифр возведённая в nую степень равна числу то вы вывесте число на экран(интервал чисел от 1 до k)
Натуральное число, в котором n цифр, если сумма цифр возведённая в nую степень равна числу то вы...

Найти в числе число единиц, число десятков, сумму цифр, произведение цифр
Дано трехзначное число.Найти: число единиц в нем , число десятков в нем , сумму его цифр ,...

Превратить строку двоичных цифр, прочитанных как число в формате с фиксированной запятой, в целое число
Написать и протестировать функцию, которая превратит строку двоичных цифр, прочитанных как число в...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru