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

Сколько раз в тексте встречаются два слова

08.09.2016, 10:55. Показов 1859. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка, содержащая текст на русском языке и некоторые два слова.
Определить, сколько раз они входят в текст и сколько раз они входят в текст непосредственно друг за другом.

помогите,пожалуйста,написать код

 Комментарий модератора 
Создавайте темы с осмысленными и понятными названиями. Название "C#" таким не является! Название должно отражать суть вопроса.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.09.2016, 10:55
Ответы с готовыми решениями:

Определить, сколько раз в тексте встречаются заданные слова
Help, я вообще не успеваю Определить, сколько раз в тексте встречаются заданные слова: Дан файл с учебным расписанием. Написать...

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

Написать, какие буквы и сколько раз встречаются в заданном тексте
Строка, содержащая произвольный русский текст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом...

4
11 / 11 / 3
Регистрация: 24.12.2015
Сообщений: 92
08.09.2016, 16:54
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
 class Finder
    {
        private string _words;
        private string _text;
 
        public void SetWords(string words)
        {
            _words = words;
        }
        public void SetText(string text)
        {
            _text = text;
        }
 
        public int CountPairs(char[] separators)
        {
            string[] splitWords = _text.Split(separators);
            int indexOfWord = 0;
            int count = 0;
            foreach (char sep in separators)
            {
                while (indexOfWord<=splitWords.Count()-2)
                {
                    if (splitWords[indexOfWord] + sep + splitWords[indexOfWord + 1] ==_words) 
                        count++;
                    indexOfWord++;
                }
            }
            return count;
        }
    }
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
08.09.2016, 17:00
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
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку");
            string str = Console.ReadLine();
            Console.WriteLine("Введите первое слово");
            string word1 = Console.ReadLine();
            Console.WriteLine("Введите второе слово");
            string word2 = Console.ReadLine();
 
            try
            {
                repetitionClass instance = new repetitionClass(str, word1, word2);
                Console.WriteLine("Слово {0} повторяется {1} раз", word1, instance.Word1.ToString());
                Console.WriteLine("Слово {0} повторяется {1} раз", word2, instance.Word2.ToString());
                Console.WriteLine("Вместе слова {0} и {1} встречаются {2} раза", word1, word2, instance.Repet);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                Console.ReadKey();
            }
        }
    }
 
    class repetitionClass
    {
        private int _word1 = 0;
        private int _word2 = 0;
        private int _repet = 0;
 
        public int Word1 { get { return _word1; } }
        public int Word2 { get { return _word2; } }
        public int Repet { get { return _repet; } }
        public repetitionClass(string str, string word1, string word2)
        {
            if (word1.Length == 0) { throw new Exception("Не введено первое слово"); }
            if (word2.Length == 0) { throw new Exception("Не введено второе слово"); }
            string[] arr = str.Split(' ');
            for (int n=0; n < arr.Count()-1; n++)
            {
                if (arr[n] == word1)
                {
                    _word1++;
                    if (arr[n + 1] == word2) _repet++;
                }
                else
                {
                    if (arr[n] == word2) _word2++;
                }
            }
        }
 
    }
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
08.09.2016, 17:25
Наверное, так все проще:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string t = "AA BB CC AA BB DD EE AA DD";
            string s1 = "AA"; string s2 = "DD";
            int k1 = 0;//количество слов s1 в тексте t
            int k2 = 0;//количество слов s2 в тексте t
            int k3 = 0;//количество следований s1" "s2 в тексте t
            string[] w = t.Split(new string [] {s1},StringSplitOptions.None); k1 = w.Length - 1;
            w = t.Split(new string [] {s2},StringSplitOptions.None); k2 = w.Length - 1;
            //следование слов друг за другом - это значит через пробел!?
            string s3 = s1 + " " + s2;
            w = t.Split(new string[]{s3},StringSplitOptions.None); k3 = w.Length - 1;
            
            //также можно и так
            int f1 = t.Split(new char[] { ' ' }).Count(r => r == s1);//количество слов s1 в тексте t
            int f2 = t.Split(new char[] { ' ' }).Count(r => r == s2);//количество слов s2 в тексте t
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
11.09.2016, 19:49
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
using System;
 
class Program
{
    public static void Main()
    {
        string t = "AA BB CC AA BB DD EE AA DD";
        string s1 = "AA";
        string s2 = "DD";
        int counter1 = 0;
        int counter2 = 0;
        int counter3 = 0;
        string prev = null;
        foreach (var s in t.Split())
        {
            if (s == s1)
            {
                counter1++;
            }
            else if (s == s2)
            {
                counter2++;
                if (prev == s1) { counter3++; }
            }
            prev = s;
        }
        Console.WriteLine(counter1);
        Console.WriteLine(counter2);
        Console.WriteLine(counter3);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2016, 19:49
Помогаю со студенческими работами здесь

Вывести только те слова, которые встречаются в тексте ровно один раз
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания. Вывести...

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

Вывести только те слова, которые встречаются в тексте ровно один раз
Добрый день! Помогите плз подкорректировать так, чтобы работало правильно, а именно: если в строке мы берем очередное слово, которое мы...

Как Вывести только те слова, которые встречаются в тексте ровно один раз
Вот есть такая программа Вывести только те слова сообщения, которые содержат хотя бы одну цифру. string str = &quot;В этой стро3ке...

Вывести в массиве только те слова, которые встречаются в тексте ровно один раз
16. Вывести только те слова, которые встречаются в тексте ровно один раз.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru