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

Из двух цифр составить одно число - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 10:54     Из двух цифр составить одно число #1
как сделать чтобы 2 цифры стали одним числом? т.е. как то так

C++
1
2
3
int a = 1;
int b = 2;
int c = ... //c == 12
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2014, 10:54     Из двух цифр составить одно число
Посмотрите здесь:

Из цифр двух натуральных чисел составить наибольшее возможное число, сохраняя первоначальную последовательность цифр. C++
Из двух цифр - целое число. C++
C++ составить линейную программу (сумма двух первых цифр заданного четырёхзначного числа равна сумме двух его последних цифр)
C++ Составить одномерный массив B из номеров строк двумерного массива, в которых есть хотя бы одно нечетное число
Нужен совет по решению - из двух натуральных чисел составить одно наименьшее. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
30.07.2014, 10:56     Из двух цифр составить одно число #2
C++
1
c = a * 10 + b;
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 10:59  [ТС]     Из двух цифр составить одно число #3
Kastaneda, да нет, так не пойдет... я планировал таким образом складывать не только 2 цифры, а побольше числа... я думаю тут надо как то толи через & толи через | действовать...
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
30.07.2014, 10:59     Из двух цифр составить одно число #4
C++
1
2
3
4
5
6
char d1='2';
char d2='1';
char number[3]={0,0,0};  // number[2] обнуляем - конец строки
number[0]=d2; // старшая цифра
number[1]=d1; // младшая цифра
cout<<number;
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 11:00  [ТС]     Из двух цифр составить одно число #5
zss, мне нужно в цифровым типом, зачем мне строки...
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
30.07.2014, 11:04     Из двух цифр составить одно число #6
Цитата Сообщение от GetHelp Посмотреть сообщение
зачем мне строки.
Для альтернативы. Если вычислений не производите,
то незачем цифры преобразовывать в число.
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
30.07.2014, 11:04     Из двух цифр составить одно число #7
По какому-такому волшебному правилу они должны стать одним числом?
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 11:05  [ТС]     Из двух цифр составить одно число #8
Цитата Сообщение от zss Посмотреть сообщение
Для альтернативы. Если вычислений не производите,
то незачем цифры преобразовывать в число.
а кто вам сказал что я не произвожу вычислений?

Добавлено через 21 секунду
Цитата Сообщение от castaway Посмотреть сообщение
По какому-такому волшебному правилу они должны стать одним числом?
ну так наверное в этом и есть весь вопрос...
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
30.07.2014, 11:07     Из двух цифр составить одно число #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cmath>
 
int main() {
    int a = 10000;
    int b = 5000;
    int c = a * pow(10, floor(log10(b))) + b;
    std::cout << c << std::endl;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
30.07.2014, 11:15     Из двух цифр составить одно число #10
0x10, У меня в Вашем примере получился ответ
500005000
среда VS 2008 (пришлось вставить преобразования к double Для pow и log10).
Правильный ответ получился так
C++
1
2
3
double a = 10000;
    double b = 5000;
    int c = static_cast<int>(a * pow(10., log10(a) ) + b);
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 11:20  [ТС]     Из двух цифр составить одно число #11
0x10, спс работает
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
30.07.2014, 11:21     Из двух цифр составить одно число #12
zss, написал не проверяя.
В таком виде как работает?
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cmath>
 
int main() {
    int a = 10000;
    int b = 5000;
    int c = a * pow(10, ceil(log10(b))) + b;
    std::cout << c << std::endl;
}
(g++-4.9, ответ правильный)
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 11:21  [ТС]     Из двух цифр составить одно число #13
zss, у меня все работает, в том числе и с теми числами (10000, 5000)
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
30.07.2014, 11:22     Из двух цифр составить одно число #14
GetHelp, ну наверное это вопрос к тебе.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 11:23  [ТС]     Из двух цифр составить одно число #15
castaway, эмм какой вопрос? о_О
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
30.07.2014, 11:28     Из двух цифр составить одно число #16
Цитата Сообщение от 0x10 Посмотреть сообщение
В таком виде как работает?
Так работает, если a и b объявить double
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
30.07.2014, 11:28  [ТС]     Из двух цифр составить одно число #17
я сделал в сишном стиле макросом, мне так удобнее... меньше места занимает и вообще... да тут округляющий еще макрос, давно уже у меня был, он даже лучше чем эти floor, ceil...

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define Round(x) (x > 0) ? (int) (x + 0.5) : (int) (x - 0.5)
#define Combine(a,b) (a * pow(10, Round(log10(b))) + b)
 
void main()
{
    int a, b, c;
    printf("a = ");
    scanf("%d", &a);
    printf("b = ");
    scanf("%d", &b);
    c = Combine(a, b);
    printf("%d", c);
    getch();
}
Миниатюры
Из двух цифр составить одно число  
Jupiter
30.07.2014, 11:40
  #18

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
(g++-4.9, ответ правильный)
компилятор неправильный

BRcr
30.07.2014, 21:43
  #19

Не по теме:

Я балдею от состава команды помощников и реакции ТС...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2014, 20:58     Из двух цифр составить одно число
Еще ссылки по теме:

Найти все трехзначные числа: "Само число и сумма цифр этого числа делятся на одно и то же число P" C++
C++ Получить число, состоящее из суммы цифр, если оно четное - найти сумму двух первых цифр, иначе - разность
C++ В массиве после каждого числа, состоящего из одинаковых цифр, вставить еще одно такое же число

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

Или воспользуйтесь поиском по форуму:
Andrej
И целого heap'а мало
 Аватар для Andrej
93 / 54 / 9
Регистрация: 31.07.2014
Сообщений: 293
31.07.2014, 20:58     Из двух цифр составить одно число #20
Главная проблемма современных программистов - чрезмерное использование строк
c++11 стиль. MSVC13, clang 4.8. Вот.
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
#include <string>
#include <limits>
#include <sstream>
#include <iostream>
 
int
compileDigits(std::initializer_list<int> integers)
{
        std::stringstream result;
        int digit = 0;
        for (auto i = begin(integers);
             i < end(integers) &&
             digit < std::numeric_limits<int>::digits; ++i, ++digit) {
                result << *i;
        }
        return std::stoi(result.str());
};
 
 
int
main(int argc, char** argv)
{
        int a = compileDigits({1, 4, 4, 9, 9});
        std::cout << a << std::endl;
        std::system("pause");
        return 0;
};
Yandex
Объявления
31.07.2014, 20:58     Из двух цифр составить одно число
Ответ Создать тему
Опции темы

Текущее время: 17:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru