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

Разделение слов на слоги в С++ - C++

Восстановить пароль Регистрация
 
Дик
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 18
25.10.2013, 20:09     Разделение слов на слоги в С++ #1
Помогите пожалуйста написать программу для курсовой! Очень надо, буду благодарен.
Дан текст, состоящий из русских слов. Составить программу, выполняющую разделение его на слоги путём вставки между ними чёрточек. Основные првила разделения на слоги следующие:
1) Две идущие подряд гласные можно разделить, если первой из них предшествует согласная,а за второй идет хотябы одна буква.
2) Две идущие подряд согласные можно разделить, если первые из них предшествует гласная, а в той части слова, которая идёт за второй согласной, имеется хотя бы одна гласная.
Если не удаётся применить пункты 1),2),то следует попытаться разбить слово так, чтобы первая часть содержала более чем одну букву и оканчивались на гласную, а вторая содержала хотя бы одну гласную.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Scythian
 Аватар для Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
25.10.2013, 20:34     Разделение слов на слоги в С++ #2
какие мысли/наработки/попытки имеются?
Выкладывайте код..
Дик
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 18
25.10.2013, 21:01  [ТС]     Разделение слов на слоги в С++ #3
нету пока что) если есть то только последняя часть его)) то есть если не удастся то ....

Добавлено через 9 минут
вот именно что я новичок только, хоть и 2 курс) и нам толком не объясняют вообще, дали задание каждому отдельно и я не знаю как его делать, т.к. нам такие задания вообще не давали. Помогите если сможете, пожалуйста!
iRomul
 Аватар для iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 474
Завершенные тесты: 1
25.10.2013, 21:06     Разделение слов на слоги в С++ #4
Цитата Сообщение от Дик Посмотреть сообщение
нету пока что) если есть то только последняя часть его)) то есть если не удастся то ....

Добавлено через 9 минут
вот именно что я новичок только, хоть и 2 курс) и нам толком не объясняют вообще, дали задание каждому отдельно и я не знаю как его делать, т.к. нам такие задания вообще не давали. Помогите если сможете, пожалуйста!
Ну вообще задача скорее алгоритмическая, но так как алгоритм вам дан, то остаётся только продумать, что писать. Неважно, давали ли вам такие задания или нет - здесь нет ничего сложного. Вам нужно только знать некоторые основы языка, не более. Возьми книжку и читайте. Здесь на форуме есть тема со списком литературы.
Scythian
 Аватар для Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
25.10.2013, 21:10     Разделение слов на слоги в С++ #5
Для начала просто попытайтесь написать функцию которая делит слово на слоги.Думаю проще будет работать с типом char.
gazlan
2863 / 1811 / 272
Регистрация: 27.08.2010
Сообщений: 4,908
Записей в блоге: 1
25.10.2013, 23:02     Разделение слов на слоги в С++ #6
Для затравки:

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
35
36
37
38
39
40
41
42
const char Symbols[256] =
{
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x01', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x01', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 
   '\x01', '\x02', '\x02', '\x02', '\x02', '\x01', '\x02', '\x02', '\x01', '\x02', '\x03', '\x02', '\x02', '\x02', '\x01', '\x03', 
   '\x02', '\x03', '\x03', '\x01', '\x03', '\x03', '\x03', '\x03', '\x03', '\x03', '\xDA', '\x01', '\xDC', '\x01', '\x01', '\x01', 
   '\x01', '\x02', '\x02', '\x02', '\x02', '\x01', '\x02', '\x02', '\x01', '\x02', '\x03', '\x02', '\x02', '\x02', '\x01', '\x03', 
   '\x02', '\x03', '\x03', '\x01', '\x03', '\x03', '\x03', '\x03', '\x03', '\x03', '\xFA', '\x01', '\xFC', '\x01', '\x01', '\x01'
};
 
enum Phone
{
   PHONE_NONE,
   PHONE_VOVEL,   
   PHONE_VOICED_CONSONANT,
   PHONE_VOICELESS_CONSONANT
};
 
bool IsVovel(int iChr)
{
   return Symbols[(BYTE)iChr] == PHONE_VOVEL;
}
 
bool IsVoicedConsonant(int iChr)
{
   return Symbols[(BYTE)iChr] == PHONE_VOICED_CONSONANT;
}
 
bool IsVoicelessConsonant(int iChr)
{
   return Symbols[(BYTE)iChr] == PHONE_VOICELESS_CONSONANT;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2013, 23:23     Разделение слов на слоги в С++
Еще ссылки по теме:

Программа деления слов на слоги C++
Удалить из символьной строки все слоги "ма" C++
C++ Разбить на слоги каждое четное слово в строке, а каждое нечетное записать в обратном порядке

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gazlan
2863 / 1811 / 272
Регистрация: 27.08.2010
Сообщений: 4,908
Записей в блоге: 1
25.10.2013, 23:23     Разделение слов на слоги в С++ #7
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const char XLAT[256] =
{
   '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', '\x09', '\x0A', '\x0B', '\x0C', '\x0D', '\x0E', '\x0F', 
   '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', '\x19', '\x1A', '\x1B', '\x1C', '\x1D', '\x1E', '\x1F', 
   '\x20', '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27', '\x28', '\x29', '\x2A', '\x2B', '\x2C', '\x2D', '\x2E', '\x2F', 
   '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38', '\x39', '\x3A', '\x3B', '\x3C', '\x3D', '\x3E', '\x3F', 
   '\x40', '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48', '\x49', '\x4A', '\x4B', '\x4C', '\x4D', '\x4E', '\x4F', 
   '\x50', '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58', '\x59', '\x5A', '\x5B', '\x5C', '\x5D', '\x5E', '\x5F', 
   '\x60', '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', '\x69', '\x6A', '\x6B', '\x6C', '\x6D', '\x6E', '\x6F', 
   '\x70', '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77', '\x78', '\x79', '\x7A', '\x7B', '\x7C', '\x7D', '\x7E', '\x7F', 
   '\xB0', '\xB1', '\xB2', '\xB3', '\xB4', '\xB5', '\xB6', '\xB7', '\xB8', '\xB9', '\xBA', '\xBB', '\xBC', '\xBD', '\xBE', '\xBF', 
   '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7', '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF', 
   '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7', '\xF0', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF', 
   '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\xF7', '\xF1', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF', 
   '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87', '\x88', '\x89', '\x8A', '\x8B', '\x8C', '\x8D', '\x8E', '\x8F', 
   '\x90', '\x91', '\x92', '\x93', '\x94', '\x95', '\x96', '\x97', '\x98', '\x99', '\x9A', '\x9B', '\x9C', '\x9D', '\x9E', '\x9F', 
   '\xA0', '\xA1', '\xA2', '\xA3', '\xA4', '\xA5', '\xA6', '\xA7', '\xA8', '\xA9', '\xAA', '\xAB', '\xAC', '\xAD', '\xAE', '\xAF', 
   '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7', '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF'
};
 
int main(int argc,char** argv)
{  
   const char pszLetters[] = "АУОЫИЭЯЮЁЕБВГДЖЗЙлмнркпстфхцчшщ";
 
   for (int ii = 0; ii < sizeof(pszLetters); ++ii)
   {
      int   iChr = pszLetters[ii];
 
      if (IsVovel(iChr))
      {
         printf("'%c' is Vovel\n",XLAT[(BYTE)iChr]);
      }
      else if (IsVoicedConsonant(iChr))
      {
         printf("'%c' Is Voiced Consonant\n",XLAT[(BYTE)iChr]);
      }
      else if (IsVoicelessConsonant(iChr))
      {
         printf("'%c' Is Voiceless Consonant\n",XLAT[(BYTE)iChr]);
      }
      else
      {
         // Is not russian letter
         break;
      }
   }
 
   return 0;
}
Миниатюры
Разделение слов на слоги в С++  
Yandex
Объявления
25.10.2013, 23:23     Разделение слов на слоги в С++
Ответ Создать тему
Опции темы

Текущее время: 21:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru