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

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

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

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

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

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

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


Сама рекурсия не вызывает проблем. Я считаю остаток о деления на 16 и целую часть. Когда целое деление невозможно рекурсия прекращается и тут возникает вопрос, как мне вытащить значения остатков от деления из стека? ведь у меня по сути есть только последнее значение. МАссивом делать не хочется. Есть ли способ вытащить значения из стека?
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) Постановку задачи ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mиxaил
533 / 438 / 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;
}
Гамбит
14 / 14 / 1
Регистрация: 19.10.2009
Сообщений: 93
10.05.2011, 23:01  [ТС] #3
я конечно благодарен, но если тема называется рекурсия, то логично было бы предположить, что мне нужна именно рекурсия.
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;
}
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 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 минут
Цитата Сообщение от Гамбит Посмотреть сообщение
как мне вытащить значения остатков от деления из стека? ведь у меня по сути есть только последнее значение. Есть ли способ вытащить значения из стека?
Почитай, там правда написано наспех (стиль изложения немного сумбурный), но суть должна быть понятна.
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 Как сделать...


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

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

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