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

Множественное число - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран оценку тестируемого в зависимости от набранного количества баллов http://www.cyberforum.ru/cpp-beginners/thread1026679.html
Проведен тест, оцениваемый в целочисленный баллах от нуля до ста. Вывести на экран оценку тестируемого в зависимости от набранного количества баллов: от 90 до 100 - «отлично», от 70 до 89 - «хорошо», от 50 до 69 — «удовлетворительно », менее 50 - «неудовлетворительно».
C++ Разработать функцию, которая для заданного натурального числа находит корень Разработать функцию f(n), которая для заданного натурального числа n находит значение корень n + n http://www.cyberforum.ru/cpp-beginners/thread1026674.html
Для данного N сформировать массив по образцу C++
Для данного N сформировать массив по образцу: 0 0 0 … 0 0 1 0 … 0 0 0 2 … 0 … 0 0 0 … N Добавлено через 7 часов 20 минут Помогите))
Объясните, как будет работать функция поиска Числа Фибоначчи C++
int fib(int x) { if (x < 2) return 1; else return fib(x - 1) + fib(x - 2); } Объясните на пальцах, как будет работать эта функция, точнее рекурсия. Пытался смотреть через дебаггер, но все равно не могу въехать, что да как
C++ Преобразовать указатель в float http://www.cyberforum.ru/cpp-beginners/thread1026650.html
допустим есть такая структура struct lol { int a; float b; } ololo; ololo.a = 34; ololo.b = 2.5; wchar_t *pt = (wchar_t*)&ololo.a; //мне нужен такой указатель
C++ Подскажите про внешние зависимости Всем привет. Никак не могу подключить к проекту внешние зависимости. Собираю консольное приложение в VS6. Прописываю пути в настройках во вкладке Link, C/C++. Появляется папка Externsl Dependencies, в ней то что нужно. НО! Когда я пытаюсь собрать компилятор начинает ругаться: error LNK2001: unresolved external symbol _viOpen@20 То есть как бы намекая мне на то что я обращаюсь к функции... подробнее

Показать сообщение отдельно
Ullaluna
 Аватар для Ullaluna
8 / 6 / 1
Регистрация: 11.11.2013
Сообщений: 75
04.12.2013, 00:31     Множественное число
Пытаться кодить этот ад на не-скриптовом языке я не буду, уж простите, сударь. Прямо трагедия, если Вам дали такое задание.

Насчет алгоритма есть идейка. У Вас слишком много операций с одним словом (да какой там, матерьбошья, не с одним!), чтобы проводить их сразу в первоначальном тексте. Имхо, это тот случай, когда надо разделять и властвовать.

Воспользуемся этой функцией http://www.c-cpp.ru/content/ispunct

Тогда переменная trigger = ispunct(cursor) "ловит" начало и конец слова; cursor - текущий читаемый символ. И будет это нечто примерно такое:

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
ПОКА (не конец файла) {
    ПОКА ( trigger == 0) {                    //читаемый символ не является пробелом\знаком препинания
        записываем текущий символ в динамический массив;
        передвигаем переменную cursor на следующий символ;
        trigger = ispunct(cursor);
    }                                                                           //выходим из цикла, когда заканчивается слово
    передаем получившийся массив (слово) в функцию MakeItPlural;
    обрабатываем значение (успех или ошибка), возвращаемое функцией;
    
    ПОКА (trigger != 0) {
        передвигаем переменную cursor на следующий символ;
        trigger = ispunct(cursor);
    }
}                                                                              //читаем новое слово, пока не кончится файл
 
Функция MakeItPlural {
    массив известной длины исследуем на предмет наличия последовательностей "онок", "енок" в конце массива;
    ЕСЛИ (нашли последовательность) {
        сравниваем со списком исключений;
        ЕСЛИ (слово - исключение)
           выводим множественное число на экран;
        ИНАЧЕ {
           кромсаем по вышеприведенному правилу;
           выводим на экран;
        }
    }
    очищаем массив;
    в случае успеха возвращаем нуль;
}
Да, не пришлось использовать обозначение (с). ispunct его разрежет на букву и два знака пунктуации. С другой стороны, без костылей падать всяко красивее, да и неприятно связываться со "словами", включающими в себя знаки препинания, не правда ли?!. Не знаю, поможет или нет. Удачи.
 
Текущее время: 18:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru