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

Выделяет каждое слово текста, оканчивающееся на гласную букву; определяет количество таких слов в тексте

07.03.2016, 22:31. Показов 2441. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Имеется вот такое задание: "Выделяет каждое слово текста, оканчивающееся на гласную букву; определяет количество таких слов в тексте".
Есть небольшая часть, написанная на C#
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void button2_Click(object sender, EventArgs e)
        {
            int LenText;
            string [] gl={"А","а","Е","е","Ё","ё","И","и","О","о","У","у","Ы","ы","Э","э","Ю","ю","Я","я"};
            //textBox1.Text += "Кол-во слов, оканчивающихся на гласную:" + Environment.NewLine;
            //LenText = richTextBox1.Text.Length;
            string Text = richTextBox1.Text;
            string [] split = Text.Split(new Char[] { ' ', ',', '.', ':', '\t', '!', '?' });
            for (int i = 0; i < (split.Length); i++)
            {
                for (int j = 0; j < 20; j++)
                {
                    string arr = split[i];
                    if (gl[j+1].Equals(arr[arr.Length]+1))
                    {
                        textBox1.Text += arr.Length;
                    }
                }
            }
        }
После нажатия на кнопку выдает ошибку. Пишет, что индекс находился вне границ массива
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.03.2016, 22:31
Ответы с готовыми решениями:

Дан текст. Слова в тексте отделены одним пробелом, в конце текста точка. Каждое слово, начинающееся и оканчивающееся
Сроки горят, из-за работы не успеваю подготовиться к защите кр. Может кто сможет помочь? Желательно не использовать процедуры и функции,...

Определить количество слов в тексте, оканчивающихся на гласную букву
Помогите пожалуйста с заданием, особенно пункт 2 ... :( С помощью текстового редактора создать файл, содержащий текст, длина которого...

Определить количество слов в тексте, начинающихся на гласную букву
Доброго времени суток, прошу помощи с написанием кода. Дан текст из нескольких строк: 1 Определить количество слов в тексте ,...

8
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
08.03.2016, 11:37
Уберите все циклы и вставьте:
C#
1
2
IEnumerable<string> d = split.Where(s=>(!(gl.Contains(s.Substring(s.Length-1)))));
            k = d.Count();
В "к" будет количество искомых слов.
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 6
08.03.2016, 12:10  [ТС]
MVK, попробовал вставить ваш код. Вычисляет количество слов всего предложения.
Для проверки у меня оно следующее: "Всем всем привет. Меня зовут Жора!"
Выводит, что k=8, видно еще пробелы после знаков препинания считает за слова.
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
08.03.2016, 12:45
Да, надо исключить пробелы. Но у меня считает правильно. Итак:

1) из split исключаем пробелы (смотри могут появиться и другие, если не все внесено в char массив):
C#
1
IEnumerable<string> split1 = split.Where(x => (x != ""));
2) подправляем строчку (1, что я указал):
C#
1
IEnumerable<string> d = split1.Where(s=>(!(gl.Contains(s.Substring(s.Length-1)))));
)

Если не получится, то покажи весь текст метода.
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 6
08.03.2016, 13:10  [ТС]
MVK, Вот что получилось. Похоже теперь он считает слова, у которых предпоследняя буква главная.
У меня еще есть вопрос. Как выделять цветом слова, которые оканчиваются на гласную?
Миниатюры
Выделяет каждое слово текста, оканчивающееся на гласную букву; определяет количество таких слов в тексте   Выделяет каждое слово текста, оканчивающееся на гласную букву; определяет количество таких слов в тексте  
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
08.03.2016, 13:32
1) я указал на счет слов, оканчивающихся на согласную. Чтобы считать слова, оканчивающиеся на гласную, нужно убрать отрицание:
C#
1
IEnumerable<string> d = split1.Where(s=>(gl.Contains(s.Substring(s.Length-1))));
2) всегда приводи к виду
C#
1
textBox1.Text = k.ToString();
Добавлено через 13 минут
Как дела? А то я скоро отключусь.
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 6
08.03.2016, 13:34  [ТС]
MVK, теперь все работает. А как сделать так, чтобы выделять цветом слова, оканчивающиеся на гласную?
Механизм примерно знаю: начало слова, конец слова и потом выделение заданным цветом. А как это реализовать?
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
08.03.2016, 13:51
Сначала нужно сказать "СПАСИБО".

Добавлено через 3 минуты
Используй методы Selection... у RichTextBox. Как-то так:

C#
1
2
3
richTextBox1.SelectionStart = i;
    richTextBox1.SelectionLength = str.Length;
    richTextBox1.SelectionColor = Color.Blue;
Сделай массив из: начало слова, длина слова, цвет.
А затем проход и раскраска.
1
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 6
08.03.2016, 13:51  [ТС]
MVK, Спасибо большое. Очень помогли.

Попробую чуть позже. Уверен, что вопросы еще будут.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.03.2016, 13:51
Помогаю со студенческими работами здесь

Посчитать количество слов в тексте, которые заканчиваются на гласную букву
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов в тексте, которые заканчиваются на гласную букву;...

Подсчитать в тексте (из файла) количество слов, заканчивающихся на гласную букву
Помогите, зарание спасибо. Дан текст, хранящийся в текстовом файле. Подсчитать в тексте количество слов, заканчивающихся на гласную букву.

Подсчитать количество слов в тексте, которые заканчиваются на гласную букву
С клавиатуры вводится текстовый рядок. Написать программу, которая подсчитывает ко-во слов в тексте, которые заканчиваются на гласную...

Подсчитать количество слов в тексте, которые заканчиваются на гласную букву
С клавиатуры вводится строка. Разработать программу, которая реализует указанные действия. а) подсчитывает количество слов в тексте,...

Строка: Подсчитать количество слов в тексте, которые заканчиваются на гласную букву...
Оформить каждый пункт задачи выбранного варианта в виде функции. Все необходимые данные для функций передаются им в качестве параметров....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru