Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 16

Из арабских чисел в римские

12.07.2012, 14:21. Показов 1707. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Функция для перевода из арабских чисел в римские. Как можно заменить устаревший sprintf?

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
string _func_arab_to_roman(int arab){
    string arab_str;
    string res;
    char arr[100];
    int d;
 
    sprintf(arr, "%d", arab);
    arab_str = arr;
 
    int arab_len = arab_str.size();
    for (int i = 0; i < arab_len; i++){
        d = arab_str[arab_len - i - 1] - 48;
        if ((d + 1) % 5 == 0){
            res = copy("IXCM", i, 1) + copy("VXLCDM", i * 2 + (d + 1) / 5 - 1, 1) + res;
        }
        else{
            res = copy("VLD", i, d / 5) + copy("IIIXXXCCCMMM", i * 3, d % 5) + res;
        }
    }
 
    return res;
}
 
string copy(string s, int first, int k){
    string res;
    for (int i = first; i < first + k; i++){
        if (i == s.size()){
            return res;
        }
        res += s[i];
    }
    return res;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.07.2012, 14:21
Ответы с готовыми решениями:

Из арабских чисел в римские Visual C++
Здравствуйте! =) Знаю, что тема заезжена до дыр, но ничего стоящего на с++ я не нашел. В основном все написано либо на паскале с делфи,...

Преобразование арабских чисел в римские
2. Программа для преобразования числа, введённого арабскими цифрами в римское число, и наоборот.

Перевод арабских чисел в римские
вообщем задание такое: написать код который из простых чисел преобразовал бы в римские, и потом можно было бы с ними делать простые...

4
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
12.07.2012, 15:03
Цитата Сообщение от Antoha1 Посмотреть сообщение
Как можно заменить устаревший sprintf?
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 <string>
#include <sstream>
 
using namespace std;
 
int main ()
{
 
    char chararr[12];
 
    int iValue = 36;
 
    sprintf( chararr, "%d", iValue );
     
    cout << chararr << endl;
 
     ostringstream ostr;
 
     ostr << iValue;
 
    strcpy ( chararr, ( ostr.str() ).c_str() );
 
    cout << chararr << endl;
 
    return ( 0 );
}
Добавлено через 52 секунды
sprintf хоть старый, но рулит .
1
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.07.2012, 15:15
Цитата Сообщение от Antoha1 Посмотреть сообщение
Как можно заменить устаревший sprintf?
В вашем примере достаточно std::to_string
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 16
12.07.2012, 15:21  [ТС]
Цитата Сообщение от MrCold Посмотреть сообщение
Добавлено через 52 секунды
sprintf хоть старый, но рулит .
Спасибо! Все работает!

ostr << iValue;

<< что делает в этом примере? Пишу для windows forms
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
12.07.2012, 15:43
Antoha1, для WinForms есть свои функ конвертации
C++
1
2
3
int iVal = 36;
 
  String ^s = Convert::ToString( iVal );
https://www.cyberforum.ru/redi... ZzLjgwJTI5
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.07.2012, 15:43
Помогаю со студенческими работами здесь

Перевод арабских чисел в римские
Всем привет. Не получается решить задачу в С++ Кто может помогите если не сложно;. Для записи римскими цифрами используются...

Программа перевода арабских чисел в римские
Написать программу, которая переводит положительное число введено в десятичном виде в римские числа и наоборот. Объясните пожалуйста как...

Алгоритм преобразования арабских чисел в римские и обратно
Здравствуйте. Только начал изучать С++, как реализовать эту задачу раздельно представляю, а вот чтобы совместить - нет. На форумах видел...

Перевод чисел из арабских в римские. Пределы int
Есть программа: #include &lt;stdio.h&gt;; #include &lt;conio.h&gt;; int roman(int,int,char); main() { int a,z; clrscr(); while (z!=1){ ...

Составить программы для перевода арабских чисел в римские и для обратной операции
Составить программы для перевода арабских чисел в римские и для обратной операции. Например, 255 = CCLV = сто + сто + пятьдесят + пять...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru