Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/67: Рейтинг темы: голосов - 67, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 4

Программа, что делит слова по слогам

25.03.2013, 22:41. Показов 13695. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, учу программирование не долго, потому пока не очень соображаю. Мне дали задание на самостоятельную работу - нужно создать программу(C#) , которая будет делить слова по слогам. Натолкните на мысль, скажите с чего вообще нужно начинать, какие методы, операции использовать. Если есть возможность, скиньте похожую программу, хоть посмотрю как это выглядеть должно. Заранее спасибо за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2013, 22:41
Ответы с готовыми решениями:

Программа не делит по слогам правильно
Программа не делит по слогам правильно. можете исправить, что тут не так? Например, Прогноз = Прог-ноз Помогите пожалуйста using...

Программа не делит на дробное число
Программа не делит на дробное число во 2 конверте. Подскажите причину сего действия. double balanse, interestRate, targetBalans; ...

Программа считывает строку, делит ее на слова и выводит в порядке убывания длины слов (Ох,функции.Где ошибка?)
Помогите найти в чем ошибка, две ночи с красными глазами сижу =-O . Программа считывает строку, делит ее на слова и выводит в порядке...

24
[Bicycle Reinventor]
 Аватар для Exerion
332 / 270 / 109
Регистрация: 19.10.2011
Сообщений: 668
Записей в блоге: 2
30.03.2013, 10:59
Студворк — интернет-сервис помощи студентам
Какой ужас. Всю свою сознательную жизнь думал, что правила перенесения слов работают по слогам, нас так и учили. Ныне видеть эти правила для меня дико непривычно. Даже на произношении делю слоги по правилам переноса, это звучит куда логичнее.
Приношу извинения за свою безграмотность.
0
Заблокирован
30.03.2013, 11:53
Наберите в своем примере слово: "Альтернатива"

Добавлено через 5 минут
Итог: Ал-ьте-рна-ти-ва
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
30.03.2013, 14:07
Urety, забыл про обработку ь и твердого знака, никто не идеален


Exerion, бывает, никто не идеален
0
ПИр-131
16.03.2014, 16:15
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
 
namespace Slogi
{
     class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(GetSlogi("запарка"));
        }
        static public string GetSlogi(string word)
        {
            string finalword = "";
            for (int i = word.Length-1; i >= 0; i--)
            {
                if (!(Convert.ToString(word[i]) == "у" || Convert.ToString(word[i]) == "е" || Convert.ToString(word[i]) == "ы" || Convert.ToString(word[i]) == "а" || Convert.ToString(word[i]) == "о" || Convert.ToString(word[i]) == "э" || Convert.ToString(word[i]) == "я" || Convert.ToString(word[i]) == "и" || Convert.ToString(word[i]) == "ю"))
                {
                    if (i > 1)
                    {
                        if ((Convert.ToString(word[i - 1]) == "у" || Convert.ToString(word[i - 1]) == "е" || Convert.ToString(word[i - 1]) == "ы" || Convert.ToString(word[i - 1]) == "а" || Convert.ToString(word[i - 1]) == "о" || Convert.ToString(word[i - 1]) == "э" || Convert.ToString(word[i - 1]) == "я" || Convert.ToString(word[i - 1]) == "и" || Convert.ToString(word[i - 1]) != "ю") && (Convert.ToString(word[i - 2]) != "у" || Convert.ToString(word[i - 2]) != "е" || Convert.ToString(word[i - 2]) != "ы" || Convert.ToString(word[i - 2]) != "а" || Convert.ToString(word[i - 2]) != "о" || Convert.ToString(word[i - 2]) != "э" || Convert.ToString(word[i - 2]) != "я" || Convert.ToString(word[i - 2]) != "и" || Convert.ToString(word[i - 2]) != "ю"))
                        {
                            finalword = " " + Convert.ToString(word[i - 2]) + Convert.ToString(word[i - 1]) + Convert.ToString(word[i]) + finalword;
                            i = i - 2;
                        }
                    }
                    else
                    {
                        if (i <= 0)
                        {
                            i = i + 1;
                            finalword = Convert.ToString(word[i - 1]) + Convert.ToString(word[i]) + finalword;
                            i = -1;
                        }
                    }
                }
                else
                {
                    if ((Convert.ToString(word[i]) == "у" || Convert.ToString(word[i]) == "е" || Convert.ToString(word[i]) == "ы" || Convert.ToString(word[i]) == "а" || Convert.ToString(word[i]) == "о" || Convert.ToString(word[i]) == "э" || Convert.ToString(word[i]) == "я" || Convert.ToString(word[i]) == "и" || Convert.ToString(word[i]) == "ю"))
                    {
                        if (i > 0)
                        {
                            if (!(Convert.ToString(word[i - 1]) == "у" || Convert.ToString(word[i - 1]) == "е" || Convert.ToString(word[i - 1]) == "ы" || Convert.ToString(word[i - 1]) == "а" || Convert.ToString(word[i - 1]) == "о" || Convert.ToString(word[i - 1]) == "э" || Convert.ToString(word[i - 1]) == "я" || Convert.ToString(word[i - 1]) == "и" || Convert.ToString(word[i - 1]) != "ю"))
                            {
                                finalword = " " + Convert.ToString(word[i]) + finalword;
                            }
                            else
                            {
                                finalword = " " + Convert.ToString(word[i - 1]) + Convert.ToString(word[i]) + finalword;
                                i--;
                            }
                        }
                        else 
                        {
                            finalword = Convert.ToString(word[i]) + finalword;
                        }
                    }                 
                }
            }
            
            return finalword;
        }
    }
}
 
Ребят работает на словах Карандаш - ка ран даш, машина - ма ши на... На любых таких простецких словах.)) код может быть ужасен, но работает.. Сложные слова не разбивает))
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 1
22.09.2015, 15:42
Если рассматривать логику разделения, то можно выделить как минимум несколько правил:
1. Кол-во слогов в слове соответсвует кол-ву гласных букв.
2. Первая согласная перед каждой гласной гарантированно принадлежит текущему слогу.
3. Слог следующих согласных перед гласной зависит от "расстояния" до предыдущей гласной.
4. Любое кол-во согласных букв в конце слова гарантированно относятся к слогу последней гласной.

Отсюда я делаю субъективный вывод, что просмотр слова удобнее делать с конца.
Алгоритм будет выглядеть приблизительно так:
1. Создаём новый пустой слог.
2. Просматриваем слово с конца. Пока буквы согласные, добавляем их в слог.
при обнаружении гласной добавляем её в слог, смотрим букву перед ней.
если эта буква гласная - слог завершён, создаём новый.
если эта буква согласная - добавляем в слог, смотрим следующую:
если это гласная - слог завершён.
если это согласная, то смотрим кол-во букв до предыдущей гласной:
если это расстояние 1 буква, слог завершён. Ибо эта одна буква принадлежит следующему слогу
если это расстояние больше 1 буквы, добавляем согласную в текущий слог.
3. При достижении начала слова перейти к просмотру следующего.
Code
1
/(([бвгджзйклмнпрстфхцчшщъь]*)([аоеуияёюыэ])((?:[бвгджзйклмнпрстфхцчшщ](?![ьъ])|[бвгджзйклмнпрстфхцчшщ][ьъ])(?:[бвгджзйклмнпрстфхцчшщъь]*$|(?![аоеуияёюыэ]))|)|[бвгджзйклмнпрстфхцчшщъь]+)/ig
зарегэкспил логику
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.09.2015, 15:42

Разбить слова по слогам
Добрый день, есть такое задание. Дана фраза русского языка. Написать программу, которая разбивает каждое слово фразы на слоги. ...

деление слова по слогам.
помогите пожалуйста может у кого нибудь есть или сможет помочь нужна программа которая бы делила слова на слога при этом ввод и вывод...

Написать программу, которая делит слова в тексте на слоги
Нужно написать программу,которая делит слова в тексте на слоги: мо-ло-ко, та-рел-ка Как реализовать это программно? Посимвольно...

Что нужно поменять что бы программа меняла местами слова первое с последним второе с предпоследним и т.д?
program Project1; const D = ; var S, Sw : String; i, Len, Cnt, CntMid : Integer; CntW, LenW, LenW1, P1, P2 : Integer; ...

Программа, которая делит числа и выводит результат в консоль
Есть у кого-нибудь пример программы, которая делит числа и выводит результат в консоль? Например:


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru