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

Получить число в виде комбинаций цифр и пробелов - C++

Восстановить пароль Регистрация
 
maxr96
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 13
27.03.2014, 00:49     Получить число в виде комбинаций цифр и пробелов #1
Задачка легкая, но уже долго ломаю над нею голову. Дано натуральное число n=12345791, нужно чтобы виходило группами по три цифры 12 345 791. Помогите пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 00:49     Получить число в виде комбинаций цифр и пробелов
Посмотрите здесь:

Получить символьное представление цифр и пробелов отделяющих группы по три цифры,начиная справа C++
Получить число М из цифр N1 и N2 в результате операций C++
Дано действитёльное число х. Получить целую часть *) числа х; затем — число х, округленное до ближайшего целого; затем — число х без дробных цифр. C++
C++ Дано двузначное натуральное число. Получить другое натуральное число, в котором порядок цифр изменен на противоположный
C++ Дано целое число N. Получить число M, у которого порядок цифр обратный по отношению к N
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
27.03.2014, 01:06     Получить число в виде комбинаций цифр и пробелов #2
Олимпиадная задачка.
Просто с конца к началу каждые 3 цифры отделяйте пробелом.
maxr96
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 13
27.03.2014, 01:07  [ТС]     Получить число в виде комбинаций цифр и пробелов #3
Но как это задать? Что-то никак не могу понять.
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
27.03.2014, 01:27     Получить число в виде комбинаций цифр и пробелов #4
Как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
int main(){
   std::string str;
   std::cin >> str;
   short j = 0;
   for(int i = str.length(); i > 0; --i){
      if(j == 3){
         str.insert(i, " ");
         j = 0;
      }
      ++j;
   }
   std::cout << str;
   return 0;
}
maxr96
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 13
27.03.2014, 01:32  [ТС]     Получить число в виде комбинаций цифр и пробелов #5
Спасибо.
maxr96
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 13
06.04.2014, 18:35  [ТС]     Получить число в виде комбинаций цифр и пробелов #6
А можно ли сделать такую же программу только с использованием библиотеки <string.h>, а не <string> как было написано выше?
Simple Boy
3 / 3 / 2
Регистрация: 26.06.2012
Сообщений: 10
06.04.2014, 23:10     Получить число в виде комбинаций цифр и пробелов #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string.h>
int main()
{
    using namespace std;
    char n[100];
    cout << "Enter number: ";
    cin >> n;
    int i, k;
    for (i = strlen(n), k = 1; i > 0; i--, k++)
    {
        if (k % 3 != 0)
            cout << n[k-1]; 
        else
            cout << " " << n[k-1];
    }
    return 0;
}
Извиняюсь, если код корявый. Я нуб, просто практикуюсь.

Добавлено через 2 часа 15 минут
Извиняюсь, программа не работает. Приходит в голову только создание второго массива, последовательное присваивание ему цифр и пробелов по одному с первого массива и последующий его разворот. Будет чем заняться завтра на работе)
maxr96
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 13
06.04.2014, 23:59  [ТС]     Получить число в виде комбинаций цифр и пробелов #8
Буду очень благодарен, если сможете.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
07.04.2014, 00:26     Получить число в виде комбинаций цифр и пробелов #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну вообще можно и так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstring>
 
void solve(char* str, int pos, int count=0)
{
    if(pos==0)
    {
        std::cout << str[pos];
        return;
    }
    solve(str, pos-1, count+1);
    if(count%3==0)
        std::cout << ' ';
    std::cout << str[pos];
}
 
int main()
{
    char number[100];
    std::cin >> number;
    solve(number, strlen(number));
    return 0;
}
Добавлено через 5 минут
А лучше так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstring>
 
int main()
{
    char number[100];
    std::cin >> number;
    int length = strlen(number);
    for(int i=0; i<length; ++i)
    {
        if(i>0 && (length-i)%3==0)
            std::cout.put(' ');
        std::cout.put(number[i]);
    }
}
maxr96
0 / 0 / 0
Регистрация: 27.03.2014
Сообщений: 13
07.04.2014, 00:50  [ТС]     Получить число в виде комбинаций цифр и пробелов #10
Я просил через <string.h>.
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
07.04.2014, 05:47     Получить число в виде комбинаций цифр и пробелов #11
MastAKK, Олимпиадная задачка? А на каких же это олимпиадах такие "сложные" задачи дают?
maxr96, а вы разберитесь в отличиях <string.h> от <cstring>=)))
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
08.04.2014, 22:15     Получить число в виде комбинаций цифр и пробелов #12
ZaMaZaN4iK, сложные? Сам лично писал олимпиаду (для старших классов, если что) в прошлом году, решил минут за 20. Ничего сложного тут нету.

Добавлено через 1 минуту
Черт, не уловил сарказм сперва
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
08.04.2014, 22:15     Получить число в виде комбинаций цифр и пробелов #13
MastAKK, как ты мог заметить слово сложные было в кавычках :/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 22:16     Получить число в виде комбинаций цифр и пробелов
Еще ссылки по теме:

C++ число состоит из цифр от 0 до 4, получить число в котором каждая цифра увеличена вдвое
C++ Получить число, состоящее из суммы цифр, если оно четное - найти сумму двух первых цифр, иначе - разность

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

Или воспользуйтесь поиском по форуму:
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
08.04.2014, 22:16     Получить число в виде комбинаций цифр и пробелов #14
Dani, я уж заметил)

Эта задача там вроде 1 или 2 номер, дальше начинаются задачи уже... Довольно сложные (относительно)
Yandex
Объявления
08.04.2014, 22:16     Получить число в виде комбинаций цифр и пробелов
Ответ Создать тему
Опции темы

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