Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
-15 / 1 / 0
Регистрация: 08.04.2016
Сообщений: 127

Подсчитать количество повторений всех слов

29.10.2016, 20:13. Показов 3113. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пример программы:
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
66
67
68
69
70
71
// Программа открывает для чтения файл, имя которого задано первым
// аргументом командной строки и создает файл, заданный вторым
// аргументом командной строки. После этого программа записывает
// все слова, встретившиеся в первом файле во второй файл.
// Каждое слово записывается с новой строки.
#include <iostream.h>
#include <fstream.h>
#include <ctype.h>
 
// Функция возвращает 1, если входной символ принадлежит русскому или
// латинскому алфавиту. Иначе возвращает 0.
int isletter(unsigned char ch)
{
if ((ch>='a' && ch<='z') || (ch>='A' && ch<='Z') ||
    (ch>=(unsigned char)'А' && ch<=(unsigned char)'п') ||
    (ch>=(unsigned char)'р' && ch<=(unsigned char)'ё'))
 return 1;
else
 return 0;
}
 
main(int argc,char **argv)
{
if(argc != 3) // в командной строке должно быть 3 параметра
 {  // вывод справочной информации
  cout<<"l4 from to";
  return 1; // закончить программу
 }
 
ifstream from(argv[1]); // открываем входной файл
if (!from)
{
 cout<<"Не открывается входной файл :"<<argv[1]<<endl;
 return 1;
}
 
ofstream to(argv[2]); // открываем выходной файл
if (!to)
{
 cout<<"Не открывается выходной файл :"<<argv[2]<<endl;
 return 1;
}
 
int ch; // переменная для хранения очередного символа
int isWord = 0; // Флаг, показывающий что предыдущий символ принадлежал
  // русскому или латинскому алфавиту
while ((ch = from.get()) != EOF) // Цикл чтения и обработки очередного
     // символа
{
 if (isWord == 0)
 {
  if (isletter(ch))
  {
   isWord = 1;
   to<<(char)ch; // запись в выходной файл очередной символ текущего слова
  }
 }
 else
 {
  if (isletter(ch))
   to<<(char)ch;
  else
  {
   isWord = 0;
   to<<endl; // переход на новую строку после очередного слова
  }
 }
}
 
return 0;
}
Рабочее задание
Напишите программу подсчета количества повторений всех слов,
встретившихся в файле, заданном первым аргументом командной
строки, и записи полученных результатов в файл, имя которого
задается вторым аргументом. Для ускорения работы программы
найденные слова необходимо хранить в отсортированном связном
списке.
Элемент связного списка может быть представлен структурой:
struct CLIST{
CLIST *next;
CLIST *prev;
char *word;
}
При обнаружении нового слова память под его хранение
выделяется с помощью оператора new, либо забирается часть
заранее выделенного массива:
char array[65536];

Добавлено через 20 часов 9 минут
Всё ещё актуально!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2016, 20:13
Ответы с готовыми решениями:

Подсчитать количество всех строк, а потом - количество слов в каждой строке
Программа считает количество строк в файле add.txt выводит на экран и записывает в новый указанный пользователем файл. #include...

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

Подсчитать количество малобуквенных слов (менее четырех символов) во всех строках исходного текста
Подсчитать количество малобуквенных слов (менее четырех символов) во всех строках исходного текста. Добавлено через 3 часа 17 минут ...

1
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
29.10.2016, 20:28
Создать список слов из файла и подсчитать количество повторения этих слов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2016, 20:28
Помогаю со студенческими работами здесь

Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове
Неправильно считает количество букв в наибольшем слове. #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; ...

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

Подсчет количества повторений всех слов, встретившихся в файле
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; struct Node { Node...

Подсчитать наибольшее количество повторений в массиве
Задан массив. К примеру: 1,5,8,3,5,8,4,6,8 Нужно вывести то число, где наибольше повторений. В данном случае вывести, что...

Вывод слов и количество их повторений
Есть код: #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; const size_t MAX_SIZE = 256; const...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru