Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2011, 12:27   #1
Lodas
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 61
Сообщение Перенос слов в файле

Здравствуйте уважаемые программисты. Столкнулся с такой задачей: Имеется файл с текстом на русском языке. Сделать перенос всех его слов. Перенос возможен по следующим правилам:
1) переносятся либо остаются в конце строки не менее двух символов;
2) невозможен перенос перед буквами 'ь' и 'ъ';
3) слово должно иметь не менее двух слогов;
4) в оставшейся и переносимой частях слова должны быть гласные буквы.
Как такое возможно реализовать?
Lodas вне форума Ответить с цитированием
Старый 18.10.2011, 15:33   #2
k1moshka
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 16
По умолчанию

1. сначала определи количество знаков в строке
2. затем начинай разбивать на слова текст, при этом запоминая количество символов в данной строке
3. как только количество символов в данной строке выйдет за пределы строки, применяй свои правила переноса к данному слову
4. код писать лень
k1moshka вне форума Ответить с цитированием
Старый 18.10.2011, 16:39   #3
Lodas
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 61
По умолчанию

а можно все по пунктам по подробнее расписать?
Lodas вне форума Ответить с цитированием
Старый 18.10.2011, 20:34   #4
k1moshka
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 16
По умолчанию

1. сначала определи количество знаков в строке
Код:
int strLength = 50; // эта переменная будет хранить максимальную длину строки в отформатированном тексте
Но нам нужно еще и считать кол-во символов в текущей строке, тогда:
Код:
int curLength = 0;
2. далее определяем переменные для работы с файлами:
Код:
fstream Text("text.txt", ios :: in | ios :: out);
ofstream formatedTxt("formated.txt", ios :: out);
Text.seekg(0); // установка позиции в начало текста
И затем нам нужно считывать текст во временное хранилище, назовем его
Код:
char buffer[BUFF_SIZE]; размер произвольный чтобы вмещал максимально длинные слова
собственно считываем слово и засовываем его в форматированный текст
Код:
Text >> buffer;
formatedTxt << buffer << ' ';
а дальше засунешь это все в цикл
Код:
while(!Text.eof()) 
{а здесь все условия переноса включая проверку текущ. длины строки с максимальной длиной}
k1moshka вне форума Ответить с цитированием
Старый 18.10.2011, 21:55   #5
Lodas
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 61
По умолчанию

k1moshka я долго делал- ничего не получилось. помоги пожалуйста))
Lodas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос слов alevtina07 Microsoft Office Word 4 27.10.2011 15:25
Перенос слов Алексей078 Microsoft Office Word 2 19.07.2011 01:57
Сортировка слов в файле alextm07 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 07.01.2011 01:37
Перенос слов Maxs Общие вопросы Delphi 8 02.05.2009 20:58
перенос слов АлёнаP Microsoft Office Access 0 17.03.2009 09:29