![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Laxus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 14.12.2008 Репутация: нет Всего: нет |
Текст задачи:
Имееться текстовый файл, в котором храниться некоторый текст. В тексте встречаються числа, записаные в цифровом представлении, а после числа в скобках одной буквой указан падеж, в котором это число следует читать. Напишите программу, которая на основе имеющегося файла создаст новый файл, заменяя числа количественными числительными в указаном падеже. Ф-ю которая которая переводит число (long int) и падеж (int от 1 до 6) в числетельное нужного падежа (char*) я сделал с помощью туевой кучи case'ов (более рационального способа мне в голову не пришло). Она вроде работает. А с остальным у меня проблемы. Да еще и кодировка Дос и Вин разные (но это еще можно решить досконвертером). Я планировал сделать так: прочитать файл в строку (желательно одну) а дальше проверять каждый символ, если он не число, то писать в файл, если это код числа, то записывать эти символы в какую-то переменную, пока эти символы - числа (while(isdigit(str[i])) вроде что-то типа этого) как только числа кончились, перевести указатель на букву падежа (тоесть пропускатьсимволы пока не дойдем до скобки, и еще плюс один) вот из нее как-то надо выделить падеж. Затем сворганить числительное из выделеного числа переведенного в long int и падежа в виде числа int и записать эту строку в файл, и дальше опять проверять следующие символы и записывать их в файл если это не число... PS:обьяснил как смог....Насчет верности и рациональности алгоритма не совсем уверен. Вот жалкая попытка основной функции и функции падежа, функцию генерации склонения не выкладываю (она вроде работает, да и слишком много строк занимает, но если понадобиться могу выложить)
Это сообщение отредактировал(а) Laxus - 18.12.2008, 21:52 |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |