Форум программистов, компьютерный форум 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 (целое положительное число) является... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
14.02.2012, 18:57
Цитата Сообщение от Vadikk Посмотреть сообщение
Дано натуральное число. Получить строковое представление этого числа в виде последовательности цифр и пробелов, разделяющих группы по три цифры, начиная справа. Например, если исходное число равно 1753967, то результирующей должна быть строка 1 753 967.
PS: Вопорос в том что если делать строку нужно двигать элементы, а как это сделать не имею понятия
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 <string>
using namespace std;
 
string split(long val)
{
    string out;
    long n = 0;
    out   += '0' + (val % 10);
    while(0 < (val /= 10) && (n = n + 1))
    {
        if(n % 3 == 0)
            out += ' ';
        out += '0' + (val % 10);
    }
    return out;
}
 
 
int main()
{
    long i,num;
    string out;
    while(true)
    {
        cout<<"Enter number : ";cin>>num;
        cout<<"Split number : ";
        out = split(num);
        for(i = out.length() - 1; 0 <= i; i--)
            cout<<out[i];
        cout<<endl;
    }
    return 0;
}
Отработка
Enter number : 1753967
Split number : 1 753 967
Enter number :
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru