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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Гамбит
14 / 14 / 1
Регистрация: 19.10.2009
Сообщений: 93
#1

Вывести на экран шестнадцатеричное представление натурального числа - C++

10.05.2011, 22:22. Просмотров 2241. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток.

Задание:
Вывести на экран шестнадцатеричное представление данного натурального числа.


Сама рекурсия не вызывает проблем. Я считаю остаток о деления на 16 и целую часть. Когда целое деление невозможно рекурсия прекращается и тут возникает вопрос, как мне вытащить значения остатков от деления из стека? ведь у меня по сути есть только последнее значение. МАссивом делать не хочется. Есть ли способ вытащить значения из стека?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2011, 22:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести на экран шестнадцатеричное представление натурального числа (C++):

Вывести шестнадцатеричное представление байта - C++
Ребят помогите в данном задании: Вывести шестнадцатеричное представление байта!

Unsigned long (Найти шестнадцатеричное представление числа) - C++
Нужно написать код програмы на С++ Помогите пожалуйста, очень сильно нужно(((( Задано число диапазона unsigned long. Найти его...

Необходимо вывести двоичное представление числа на экран. - C++
Собственно само задание.. Код вроде вполне правильный, но все же не работает(( Не могу понять в чем проблема.. Прошу руку помощи)) ...

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

Как вывести на экран последнюю цифру натурального числа в среде Dev C++? - C++
Если пишу так то пишет только последнюю цифру,а нужна то пред последняя. Помогите кто разбирается в этом , пожалуйста! #include...

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

4
Mиxaил
534 / 439 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
10.05.2011, 22:59 #2
Можно без рекурсии стандартными способами:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
    int number;
    std::cout << "Enter a number [> ";
    std::cin >> number;
    std::cout << std::hex << number << std::endl;
    system("Pause");
    return 0;
}
1
Гамбит
14 / 14 / 1
Регистрация: 19.10.2009
Сообщений: 93
10.05.2011, 23:01  [ТС] #3
я конечно благодарен, но если тема называется рекурсия, то логично было бы предположить, что мне нужна именно рекурсия.
0
ruslan_abel
33 / 33 / 4
Регистрация: 06.05.2011
Сообщений: 91
10.05.2011, 23:55 #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
#include <iostream>
#include <string>
 
using namespace std;
 
string* ToHex(int n)
{
    if (n < 16)
    {
        string nums = "0123456789ABCDEF";
        string* str = new string();
        *str += nums.at(n);
        return str;
    }
    else
    {
        int t = n % 16;
        n = n / 16;
        string* str1 = ToHex(n);
        string* str2 = ToHex(t);
        str1->append(*str2);
        delete str2;
 
        return str1;
    }
}
 
int main()
{
    int N;
 
    cin >> N;
 
    cout << *ToHex(N);
 
    return 0;
}
0
Kastaneda
Jesus loves me
Эксперт С++
4749 / 2953 / 242
Регистрация: 12.12.2009
Сообщений: 7,491
Записей в блоге: 2
Завершенные тесты: 1
11.05.2011, 15:21 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
void dec_to_hex(int);
 
int main()
{
    int n;
    std::cout<<"Enter n: ";
    std::cin>>n;
    dec_to_hex(n);
    return 0;
}
void dec_to_hex(int n)
{
    int a=n%16;
    if(n/16) dec_to_hex(n/16);
    std::cout<<std::hex<<a;
}
без манипулятора std::hex
C++
1
2
3
4
5
6
void dec_to_hex(int n)
{
    int a=n%16;
    if(n/16) dec_to_hex(n/16);
    std::cout<< (a<10 ? char(a+'0') : char('A'-10+a));
}}
Добавлено через 8 минут
Цитата Сообщение от Гамбит Посмотреть сообщение
как мне вытащить значения остатков от деления из стека? ведь у меня по сути есть только последнее значение. Есть ли способ вытащить значения из стека?
Почитай, там правда написано наспех (стиль изложения немного сумбурный), но суть должна быть понятна.
0
11.05.2011, 15:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2011, 15:21
Привет! Вот еще темы с ответами:

Циклические алгоритмы: вывести на экран все простые делители заданного натурального числа - C++
Вывести на экран все простые делители заданного натурального числа

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

Для заданного натурального числа N вывести в столбик все совершенные числа меньшие N c++ - C++
Для заданного натурального числа N вывести в столбик все совершенные числа меньшие N. Совершенное число – натуральное число, которое равно...

Вывести все числа от 1 до заданного натурального числа n (рекурсия) - C++
Дано натуральное число n. Выведите все числа от 1 до n (Рекурсия) Ввод - 5 Вывод - 1 2 3 4 5 Как сделать...


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

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

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