Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 39
1

Создать список из повторяющихся слов текста из файла. Первый элемент-наиб.часто повторяющееся слово

17.12.2016, 12:56. Показов 1741. Ответов 4
Метки нет (Все метки)

В файле содержится последовательность слов(вводят с клавиатуры, я так поняла). Нужно создать список из повторяющихся слов. Первый элемент спискаи- наиболее часто повторяющееся слово. Вывести оба варианта списка на экран.

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

У меня получилось составить только общий вид, структуру алгоритма я не могу сделать(.

1. Создать типизированный файл из строки[длина строки].
Открыть на запись
Внести изменения
Закрыть файл

2. Выделить из файла повторяющиеся слова.
Открыть файл на чтение/запись
от начала и до конца строки
начать
найти повторяющиеся слова (а вот тут вопрос. Как это сделать?) и загнать их в список(как?)
вывести список
закончить
закрыть файл

3. Переместить наиболее часто повторяющееся слово в начало.

{перемещение слова }(я так поняла, значению "головы" его присвоить, но как?)
вывести новый вариант списка.

Прошу помочь с алгоритмом, пожалуйста!!!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2016, 12:56
Ответы с готовыми решениями:

Если среди слов в строке есть одинаковые, то вывести повторяющееся слово
Дана строка из 3-х слов. Если среди них есть одинаковые, то вывести повторяющееся слово....

Создать список слов из файла и подсчитать количество повторения этих слов
Здравствуйте. Помогите написать такую программу: в файле храниться текст. Нужно составить список...

Однонаправленный список, где создать указатель на первый элемент?
struct listNode{ char data; listNode *next; }; class List{ public: void add(char);...

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

4
4599 / 2299 / 2201
Регистрация: 10.12.2014
Сообщений: 8,784
19.12.2016, 07:48 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
begin
  var fName := ReadLnString('Имя текстового файла:');
  /// Занесём все слова данного текста в частотный словарь
  var Dict := New Dictionary<String,Integer>; // Словарь слов и количество их вхождений
  var DS := (' .,!?:;''"/=<>{}[]()-+'+chr(13)+chr(10)).ToCharArray; // Разделителями слов могут являться следующие знаки
  foreach var Word in ReadAllText(fName).ToWords(DS) do // Читаем весь текст за раз в память и разделяем его на отдельные слова
    Dict[Word] := Dict.Get(Word) + 1; // Увеличим количество вхождений
  /// Найдём наиболее часто встречающееся слово
  var Count := 0;
  foreach var WordAndCount in Dict do
    Count := Max(Count, WordAndCount.Value);
  /// Заполним список в порядке уменьшения частоты встречамости слов, кроме слов встречающихся всего 1 раз   
  var Lst := New List<String>;
  repeat
    foreach var WordAndCount in Dict do
      if WordAndCount.Value = Count then
        Lst.Add(WordAndCount.Key);
    Count -= 1;
  until Count = 1;
  /// Выводим результат на экран
  Lst.Println;
end.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31243 / 20423 / 7960
Регистрация: 22.10.2011
Сообщений: 35,452
Записей в блоге: 6
19.12.2016, 11:10 3
Если нужно просто вытащить все слова из файла и упорядочить их по невозрастанию частоты - то:
Pascal
1
2
3
4
begin
  ReadAllText('tx.txt'(*, Encoding.Unicode*)).Split((NewLine + ',.() ').ToCharArray()).
    GroupBy(s -> s).OrderByDescending(g -> g.Count).Select(g -> g.Key).Println;
end.
вполне с этой задачей справляется
0
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 39
19.12.2016, 20:33  [ТС] 4
volvo, спасибо. Но - увы - преподавателю такой ответ не предоставить. Я пытаюсь написать программу по алгоритму, указанному выше. Ну разве что не для типизированного файла:-(.

Добавлено через 1 минуту
JuriiMW, спасибо Вам. Такую программу я, к сожалению, не пойму, пытаюсь составить программу по алгоритму, который выше(.
0
4599 / 2299 / 2201
Регистрация: 10.12.2014
Сообщений: 8,784
20.12.2016, 05:01 5
Тер, я же ввёл подробнейшие комментарии…
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2016, 05:01

Из заданного текста создать список слов по алфавиту
И еще надо, чтобы если есть слова начинающиеся на А, перед ними стоял символ 'А' , а если не нету...

Прочитать последовательность слов в список. Если количество слов четно, то тогда создать список из 2-го, 4-го и т.д. слов
Вот условие задачи(В файл занести последовательность слов. Прочитать последовательность слов в...

Создать список из слов файла
Подскажите пожалуйста как написать программу, которая считывает текст по словам из файла и создаёт...

Список повторяющихся слов
Помогите пожалуйста. Дано десять предложений. Вывести список повторяющихся слов в разных...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.