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

Частотный анализ

20.01.2020, 15:21. Показов 1851. Ответов 6
Метки нет (Все метки)

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

Указание. После того, как вы создадите словарь всех слов, вам захочется отсортировать его по частоте встречаемости слова. Желаемого можно добиться, если создать список, элементами которого будут кортежи из двух элементов: частота встречаемости слова и само слово. Например, [(2, 'hi'), (1, 'what'), (3, 'is')]. Тогда стандартная сортировка будет сортировать список кортежей, при этом кортежи сравниваются по первому элементу, а если они равны — то по второму. Это почти то, что требуется в задаче.

Входные данные
Вводится текст.

Выходные данные
Выведите ответ на задачу.

ПРИМЕРЫ

ВХОДНЫЕ ДАННЫЕ
hi
hi
what is your name
my name is bond
james bond
my name is damme
van damme
claude van damme
jean claude van damme

ВЫХОДНЫЕ ДАННЫЕ
damme
is
name
van
bond
claude
hi
my
james
jean
what
your
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.01.2020, 15:21
Ответы с готовыми решениями:

Частотный анализ текста
Необходимо написать консольное приложение на C#, выполняющее частотный анализ текста. Входные параметры: путь к текстовому файлу. ...

Частотный анализ шифра Цезаря
У меня есть программа шифрования методом Цезаря. Нужно доделать, добавив частотный анализ введенного текста, т.е. сколько раз встречаются в...

Частотный анализ и Брутфорс шифра Цезаря
Привет всем) я закодил на Сишарпе шифр Цезаря) смысл в том что я могу кодировать файл и декодировать его.... Дык вот проблема в том , что...

6
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
20.01.2020, 16:31
manch_,
C#
1
2
3
4
5
            string text = "hi hi what is your name my name is bond james bond my name is damme van damme claude van damme jean claude van damme";
 
            var Dict = text.Split(' ').GroupBy(_ => _).Select(_ => new { Word = _.Key, Count = _.Count() }).OrderByDescending(_ => _.Count).ThenBy(_ => _.Word).ToList();
 
            Dict.ForEach(_ => Console.WriteLine(_.Word));
0
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 8
20.01.2020, 18:54  [ТС]
AndreyVorobey, Спасибо,а можно вопрос,как сделать чтобы текст можно было вводить через консоль?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
20.01.2020, 21:06
Цитата Сообщение от manch_ Посмотреть сообщение
Выведите все слова, встречающиеся в тексте, по одному на каждую строку.
Сплит нужен по \r\n. Но судя по образцу данных по ещё и по пробелу.

Цитата Сообщение от manch_ Посмотреть сообщение
вы создадите словарь всех слов ... создать список, элементами которого будут кортежи
Так словарь или лист с кортежами...?
Но точно не анонимный тип.

Цитата Сообщение от manch_ Посмотреть сообщение
как сделать чтобы текст можно было вводить через консоль?
C#
1
2
3
4
5
6
7
8
9
10
            string text = "";
            string input;
            Console.WriteLine("Ведите строки текста со словами. Ввод пустой строки - означает окончание ввода.");
            while (!string.IsNullOrWhiteSpace(input = Console.ReadLine()))
                text += input;
 
 
            string[] words = text.Split("\r\n ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
 
            /// Дальше анализ массива words
0
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 8
20.01.2020, 21:19  [ТС]
Элд Хасп,капец я валенок...какая строка отвечает за "Ввод пустой строки - означает окончание ввода."( while (!string.IsNullOrWhiteSpace(input = Console.ReadLine()))?) и можно ли сделать чтобы выводило сразу без пустой строки?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
20.01.2020, 21:27
Цитата Сообщение от manch_ Посмотреть сообщение
можно ли сделать чтобы выводило сразу без пустой строки?
По какому тогда критерию определять, что пользователь закончил ввод?

Добавлено через 2 минуты
manch_, кстати ошибка в 5-ой строке.
Правильно так
C#
5
          text += "\n"+input;
0
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 8
20.01.2020, 21:41  [ТС]
Элд Хасп, "По какому тогда критерию определять, что пользователь закончил ввод?"- ну да логично
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2020, 21:41
Помогаю со студенческими работами здесь

Криптоаналистическая статическая атака (частотный анализ текста)
Пиши программу взлома шифра Цезаря,вот код алгоритма определяющего какие символы в тексте,частоту их встречаемости: public void...

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

Вывести частотный словарь введенного текста
Помогите,Плиз. срочно нужно Пользователь вводит n предложений на латинице. Вывести частотный словарь введенного текста....

Строка: Составить частотный список символов текста.
Составить частотный список символов текста.

Частотный словарь русского языка, список самых частоупотреблямых слов
Всем привет, я ищу такой частотный словарь русского языка (список самых частоупотреблямых слов) и прошу Вас помочь. Самое главное, чтобы...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru