0

Нужно ввести число с клавиатуры и перевести его в строку без использования встроенных и любых вспомогательных функций в C++. Очень нужна помощь. Спасибо.

5
  • @veldon, Согласно правилам форума, вопросы не должны сводиться к решению либо завершению учебных заданий за учащихся. Пожалуйста, уточните, что вы сделали сами и что не получилось.
    – DreamChild
    21 окт 2014 в 16:08
  • @veldon: Совсем без встроенных функций не получится — как же вы иначе память для строки аллоцируете?
    – VladD
    21 окт 2014 в 17:08
  • @VladD самому как-то перевести, может и не совсем.
    – veldon
    21 окт 2014 в 17:20
  • Скорей всего это задача с ассемблерной вставкой.
    – perfect
    22 окт 2014 в 5:54
  • @veldon, Если вам дан исчерпывающий ответ, отметьте его как верный (нажмите на галку рядом с выбранным ответом). 22 окт 2014 в 14:21

2 ответа 2

2

@veldon, общий алгоритм для целых чисел -- пока число больше или равно основанию системы счисления, делите число на нее и записываете остатки в строку.

Потом дописываете оставшееся значение числа (это будет последняя цифра) и реверсируете строку (последний символ (цифра) становится первым, а первый последним). Вот и почти все.

Остались детали с начальным анализом не отрицательно ли число и не равно ли оно минимально возможному (тут будет некое ответвление в алгоритме) для данного типа целых.

Память достаточного размера (скажем, 20 байт) может предоставить вызывающая программа.

0

Может быть, так:

int Value=1234567;
string Result=(string)Value;
1
  • @ms301, так даже не скомпилируется. Если же "обмануть" компилятор и в ответ на его притензии написать string Result=(const char *)Value; то все равно ничего хорошего не выйдет (программа при запуске упадет).
    – avp
    22 окт 2014 в 15:34

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.