Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/40: Рейтинг темы: голосов - 40, средняя оценка - 4.55
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514

Разделить запятыми тройки цифр десятичного числа

25.11.2017, 17:52. Показов 7485. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводится натуральное число. Требуется разделить запятыми тройки его цифр (считая справа).

Формат входных данных

Вводится одно натуральное число, не превышающее 1010010100.
Формат выходных данных

Вывести то же число, разделяя тройки цифр запятыми.
Примеры

входные данные выходные данные
1000
1,000
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2017, 17:52
Ответы с готовыми решениями:

Произвольное число разделить запятыми на тройки чисел, начиная справа.
Помогите пожалуйста Для разбиения чисел на классы его стоит разбивать на группы по три цифры, начиная справа. Дано произвольное число,...

Инвертировать порядок цифр десятичного числа
Дано число n, десятичная запись которого не содержит нулей. Получите число, записанное теми же цифрами, но в противоположном порядке. При...

Найти сумму последних n цифр десятичного числа
Дано натуральное число. Найти сумму его последних n цифр. Массивы для сохранения n цифр не использовать (использовать цикл). ...

8
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
25.11.2017, 18:52
Лучший ответ Сообщение было отмечено Pavlin234 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
long long N = 1010010100;
long long p = 1;
for(; p<=N; p*=1000)
;
p /= 1000;
while(p>1) {
  cout << N/p << ",";
  N %= p;
  p /= 1000;
}
cout << N << endl;
Как-то так. В самом деле, это просто перевод в 1000-ичную систему счисления...
1
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
25.11.2017, 19:58
Лучший ответ Сообщение было отмечено Pavlin234 как решение

Решение

Pavlin234, здравствуйте! Эту задачу можно решить с помощью функции printf() и установки соответствующей локали:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_NUMERIC, "");
    int N;
    cout << "Enter a number:" << "\n";
    cin >> N;
    cout << "Number in the given format: ";
    printf("%'.d\n", N);
    system("pause");
    return 0;
}
2
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
25.11.2017, 20:24
Fixer_84, только оно добавляет пробелы а не запятые. Но сам подход не может не радовать
1
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
25.11.2017, 20:30
COKPOWEHEU, здравствуйте! У меня в консоли запятые выводятся.
1
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
25.11.2017, 20:39
$g++ main.cpp -Wall -Os
$./a.out
Enter a number:
123456
Number in the given format: 123 456
sh: 1: pause: not found
1
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
25.11.2017, 20:45
COKPOWEHEU, Я не знаю, почему у вас так, но у меня в Dev-C++ код в посте #3 выводит число, разделенное запятыми справа налево, как и требовалось (при указании setlocale(LC_NUMERIC, "")).
1
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
25.11.2017, 20:49
Лучший ответ Сообщение было отмечено Pavlin234 как решение

Решение

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
#include <iostream>
#include <sstream>
#include <string>
 
using namespace std;
 
int main()
{
  string s;
  int n=1010010100;
  stringstream ss;
 
  ss<<n;
  s=ss.str();
  size_t N=s.length();
  N-=N/3*3;
  for(size_t i=N; i<s.length();i+=4)
     {
       if(i==0)
         i+=3;
       s.insert(i,",");
     }
  cout<<s;
 
  system("pause>0");
  return 0;
}
1
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
25.11.2017, 21:15
Fixer_84, если так у меня, возможно два варианта: либо я как-то не так компилирую (может каких-то пакетов не хватает), либо ваш вариант не универсален.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2017, 21:15
Помогаю со студенческими работами здесь

найти произведение цифр четырехзначного десятичного числа
Дано 4-значное число найти произведение этих чисел. Просто перемножить все 4 числа, тип(1364=1*3*6*4=72)

Подсчитать количество цифр целого десятичного числа
Подсчитать количество цифр целого десятичного числа. Результат сохранить в файл «1.txt». Найти все четные цифры целого десятичного числа....

Посчитать среднее арифметическое цифр двоично-десятичного числа
1)Посчитать среднее арифм. цифр двоично-десятичного числа. 2)Вывести на экран максимальное значение 3 чисел. 3)y=2x-1, a+b&gt;&lt;c+al...

Функция инвертирующая порядок цифр десятичного представления числа
Описать внешнюю функцию которая получает целое значение и возвращает число с обращенным порядком цифр. Исходные значения передаются во...

Функция меняющая порядок цифр трехзначного десятичного числа на обратный
Напишите функцию, которая получает в качестве параметра целое трехзначное число и возвращает число с обратным порядком цифр. Протестируйте...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru