Есть текст. Нужно посчитать сколько было использовано слов. Пример:
Слово "The" использовалось 2 раза
Слово "promise" использовалось 3 раза
Слово "to" использовалось 4 раза
и т.д.
На данный момент моя программа считает только количество слов в тексте.
#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
#include <windows.h>
#define STRLEN 255
using namespace std;
int main(char ArrWord) {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string path = "file.txt";
ifstream Myfile;
Myfile.open(path);
if (!Myfile.is_open())
{
cout << "Файл не открыт" << endl;
return 0;
}
else
{
cout << "Файл успешно открыт" << endl;
}
char str[STRLEN];
char * p;
int count_all, count_word;
count_all = count_word = 0;
while (!Myfile.eof())
{
Myfile >> str;
for (p = strtok(str, " "); p != NULL; p = strtok(NULL, " ")) {
++count_all;
}
}
printf("Всего слов: %d\n", count_all);
system("pause");
return 0;
}
while (!Myfile.eof())- см. https://ru.stackoverflow.com/questions/833980/%d0%9f%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be%d0%b5-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b8-%d0%ba%d0%be%d0%bd%d1%86%d0%b0-%d1%84%d0%b0%d0%b9%d0%bb%d0%b0 Для подсчета количества слов используйтеmap. Но у вас слова разделяются только пробелами - это нормально? А знаки препинания? – Harry Jun 06 '21 at 18:33