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

Перевод римских чисел в арабские - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создайте программу с классом student, который включает в себя данные о студентах, желающих получить места в общежитии http://www.cyberforum.ru/cpp-beginners/thread748467.html
Создайте программу с классом student, который включает в себя данные о студентах, же¬лающих получить места в общежитии. Общежитие в первую очередь предоставляется тем студентам, у кого доход на члена семьи меньше двух минимальных зарплат. Класс включает в себя следующие данные-элементы: ► ФИО студента; ► номер группы (буква и четыре цифры); ► средний балл; ► доход на одного члена семьи....
C++ Создать класс с именем TRAIN первая программа: Создать класс с именем TRAIN, содержащий следующие поля: ■ название пункта назначения; ■ номер поезда; ■ время отправления. вторая программа должна дополнять перву: Написать программу, реализующую следующие методы определенные вне класса : ■ ввод с клавиатуры данных в массив, состоящий из восьми объектов класса TRAIN; записи должны быть размещены в алфавитном... http://www.cyberforum.ru/cpp-beginners/thread748466.html
C++ Циклом for напечатать ромб
Напишите программу, которая напечатает следующий ромб. Вы можете использовать операторы вывода, которые печатают или одну звездочку (*), или один пробел. Максимально используйте повторение (с вложенными структурами for) и минимизируйте число операторов вывода. Сам ромб - http://www.image.kg/images/2012/12/28/XfOMS.png Так и не додумался как правильно выполнить задачу. Подскажите...
Ошибочка C++
#include <vcl.h> #include <math.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #define N 5 int main() { int a ;
C++ Найти наибольший элемент массива http://www.cyberforum.ru/cpp-beginners/thread748451.html
Помогите пожалуйста решить задачу Дан массив чисел. Найти наибольший элемент, поставить его первым. Заранее благодарю
C++ не меняя эту часть кода(она должна остаться точь-в-точь как выше) сделать так, чтоб запускаемое приложение выводило на экран "hello world!" задача: дана часть кода: int main(void) { return 0; } не меняя эту часть кода(она должна остаться точь-в-точь как выше) сделать так, чтоб запускаемое приложение выводило на экран "hello world!" подробнее

Показать сообщение отдельно
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
27.12.2012, 23:15     Перевод римских чисел в арабские
ну вот так:

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>
using namespace std;
 
int const  arab_[]   = {  1,   4,    5,   9,    10,  40,  50,   90,  100, 400,  500, 900,  1000};
char const *roman_[] = { "I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M" };
 
inline size_t translate(char *roman)
{
    const int m = countof(arab_)-1;
    size_t arab = 0;
    int len = strlen(roman), n = m, i = 0, pir;
 
    while(n >= 0 && i < len)
    {
        pir = n & 1;
        if( (roman[i] == roman_[n][0]) && (!pir || roman[i+1] == roman_[n][1]))
        {
            arab += arab_[n];
            i    += 1 + pir;
        }
        else n--;
    }
 
    return arab;
}
 
int main()
{
    char *str1 = "XII", *str2 = "XIO";
    cout << translate(str1) << endl << translate(str2) << endl;
 
    system("pause");
    return 0;
}
 
Текущее время: 20:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru