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

задача на римскую систему счисления - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вектор векторов http://www.cyberforum.ru/cpp-beginners/thread401670.html
Хочу создать вектор, содержащий векторы, которые содержат строки. Написал такой код: #include <iostream> #include <vector> using namespace std; typedef vector<string> vector_string; int main () {
C++ ошибка при компиляции перенес программу с другого компа и столкнулся со следующими ошибками(см. изображение). попробывал скачать библиотеку graphics.h для dev-cpp и чувствую что нужно что то еще.... Подскажите пожалуйста как исправить эти ошибки, какую библиотеку подключить? среда: Visual C++ 6.0 http://www.cyberforum.ru/cpp-beginners/thread401668.html
C++ Файлы: Определить команды, занявшие первые 3 места и 3 последние
Дан файл, содержащий результаты розыгрыша футбольного чемпионата. Определить команды занявшие первые 3 места и 3 последние.
C++ Помогите разобраться с задачей....
Дорогие программисты прошу вас помочь в следующем вопросе: мне нужно открыть в С++ файл формата BMP и получить значение его пикселей в виде матрицы для дальнейшей обработки.
C++ Компиляция (gcc) http://www.cyberforum.ru/cpp-beginners/thread401639.html
Добрый вечер! После компиляции текстовый файл становится вдруг двоичным, как следствие его невозможно открыть для исправлений. Почему? #include <stdio.h> struct klass { char fam; int mark; float nomer; }; int main (void)
C++ Скроллинг! Такой вопрос - После создания скроллинга как его можно связать с загруженным в ресурсы bitmap в с++ API!?!? Добавлено через 3 часа 5 минут Новый вопрос на туже тематику http://s2.ipicture.ru/uploads/20111208/DXaSvM4J.png Как можно этого избежать! Скроллинг вечно перерисовывается! подробнее

Показать сообщение отдельно
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
13.12.2011, 01:36
Цитата Сообщение от ПаЗитиФкА Посмотреть сообщение
Не очень понятно, что считает переменная
recurrence
данная переменная считает количество повторение текущей римской цифры.
C++
1
2
3
4
if (previous == next)
       recurrence++;
else
        recurrence = 0;
если цифра сменилась то счетчик сбрасывается.
Цитата Сообщение от ПаЗитиФкА Посмотреть сообщение
и почему здесь
if (recurrence == 3 && (next == 'X' || next == 'C' || next == 'M' || next == 'I')) { return false;
замените на код ниже. Будет тот же результат. Тут по идее проверяется что одна и таже чифра не может повторяться более трех раз подряд.
C++
1
2
3
if (recurrence == 3 && next > 0) {
        return false;
}
Цитата Сообщение от ПаЗитиФкА Посмотреть сообщение
И не понятно, зачем здесь перед isCorrect стоит !
if (!isCorrect || (s[i - 3] == 'I' && s[i - 2] != 'I'))
потому что переменная isCorrect имеет тип булеан. и как результат всего два возможных варианта значения . true или false.
!isCorrect
это то же самой что и
isCorrect == false

насчет последовтельности VIV
поставил временную заплатку в функцию.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool isCorrectSequence(const char arr[], const int &iter, const char next, int &recurrence) {
    char previous;
    previous = arr[iter-1];
        if (next == previous && (previous == 'L' || previous == 'D' || previous == 'V')) {
                return false;
        }
        if (recurrence == 3 && next > 0) {
                return false;
        }
        if ((next == 'X' && previous == 'V') || (next == 'C' && previous == 'L') || (next == 'M' && previous == 'D')) {
                return false;
        }
        if(next == 'V' && previous == 'I' && arr[iter-2] == 'V') {
            return false;
        }
        return true;
}
в main замените вызов функции на вот такой:
C++
1
isCorrectSequence(s, i, next, recurrence)
если есть еще вопросы задавайте.
Я пересмотрю в свободное время код. возможно передаю на более простой и понятный.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru