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

Дано натуральное число. Получить строковое представление этого числа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ почему не работает? http://www.cyberforum.ru/cpp-beginners/thread445795.html
#include "stdafx.h" #include<iostream> struct item; item *Insert(item *tree); item *InOrder(item *tree); struct item { int data;
C++ Найти объем тела и площадь полной поверхности Тело имеет форму параллелепипеда с высотой h. Прямоугольник в основе имеет диагональ d. Известно, что диагонали прямоугольника пересекаются под углом. Найти объем тела V и площадь полной поверхности S. http://www.cyberforum.ru/cpp-beginners/thread445792.html
C++ Перевести с Паскаля на С++
Program Proc; procedure MinMax(var A,B:real); var temp:real; begin if (A>B)then begin temp:=A; A:=B; B:=Temp;
C++ Вывести на экран номер максимального элемента массива(+ ещё 3 задачи)
Программирование на легком уровне, так как только на 1 курсе, задача на МАССИВЫ! «Статический массив» 1.Задан массив из n чисел – результаты измерения температуры воздуха, взятые в течении n дней. Вывести на экран номер максимального значения температуры воздуха. Вывести на экран номера значений температуры воздуха, которые отличаются от средней температуры не более, чем на один...
C++ Перегрузка оператора -> http://www.cyberforum.ru/cpp-beginners/thread445782.html
скажите, а какие особенности перегрузки -> ?
C++ описать функцию MonthDays(M, Y) Используя функцию IsLeapYear из задания Proc52, описать функцию MonthDays(M, Y) целого типа, которая возвращает количество дней для M-го месяца года Y (1 ≤ M ≤ 12, Y > 0 — целые числа). Вывести значение функции MonthDays для данного года Y и месяцев M1, M2, M3. Proc52. Описать функцию IsLeapYear(Y) логического типа, которая возвращает True, если год Y (целое положительное число) является... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
14.02.2012, 19:48     Дано натуральное число. Получить строковое представление этого числа
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
#include <iostream>
#include <sstream>
#include <string>
#include <stack>
 
std::string number_to_string(long number){
    int sign = ( number < 0 ) ? -1 : ( number == 0 ) ? 0 : 1;
    number *= sign;
    std::stack<int> stack;
    while ( number ){
        stack.push(number % 1000);
        number /= 1000;
    }
    std::ostringstream ost;
    if ( sign < 0 )
        ost << '-';
    else if ( sign == 0 )
        ost << '0';
    while ( ! stack.empty() ){
        ost << stack.top() << ' ';
        stack.pop();
    }
    
    return ost.str();
}
 
int main(void){
    long num;
    
    while ( std::cout << "Number: " && std::cin >> num )
        std::cout << "As string: " << number_to_string(num) << std::endl;
    
    return 0;
}

Не по теме:

-=ЮрА=-, отрицательные числа забавно выводятся...
Хотя здесь не важно, натуральные числа отрицательными не бывают, на сколько помню, это я увлёкся. Но выводятся всё равно забавно...

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