Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kilidon
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 11
#1

Определить уникальные слова в файле - C++

07.05.2016, 16:51. Просмотров 273. Ответов 3
Метки c++ (Все метки)

Есть файл с текстом.
Нужно посчитать количество уникальных слов.
Знаю что можно записать весь файл в строку и потом искать, но кажется что должно быть более простое решение.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2016, 16:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить уникальные слова в файле (C++):

Найти в файле все слова, которые можно сложить из букв заданного слова - C++
Дано слово р и файл f.найти в файле f все слова которые можна сложить с букв слова р.

Сравнение введенного слова и слова в файле - C++
Есть задача, где пользователь вводит слово, а программа находит такое-же слово в фале, проверяя поочередно все строки. Подразумевается, что...

Консольное приложение. В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находящихся в файле, нечетную длину - C++
В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находящихся в файле, нечетную длину, и если да, то...

В файле заменить все слова максимальной длины на слова минимальной длины - C++
Нужно в считанном из файла тексте заменить все слова максимальной длины на слова минимальной длины, а результат записать в новый файл....

Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из них встречается в массиве. - C++
Написать программу для решения следующей задачи. Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из...

Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова. - C++
Ввести с клавиатуры два слова. Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова.

3
Fixer_84
634 / 440 / 219
Регистрация: 30.04.2016
Сообщений: 1,271
07.05.2016, 18:24 #2
kilidon, вот программа. Файл должен быть в формате *.txt и все слова из латинских букв.

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
#include <iostream>
#include <cmath>
#include <fstream>
 
using namespace std;
 
int main()
{
    
string c;
cout << "Введите слово из файла [ENG]: ";
getline(cin, c);
ifstream fin("input.txt");
int k, p = 0;
while(!fin.eof()) 
{ 
string a, b;
getline(fin, a);
a = a + ' ';
k = 0;
for (int i = 0; i < a.length(); i++)
{
k++;
if (isalpha(a[i])) b += a[i]; 
if (a[i] == ' ') 
{
k--;
if (b == c) p++;
k = 0;
b = "";
}
}
}
fin.close();
cout << "Данное слово встречается в файле " << p << " раз(a)" << endl;
system("pause"); 
return 0;   
}
0
kilidon
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 11
07.05.2016, 19:03  [ТС] #3
Fixer_84, боюсь вы меня неправильно поняли. Суть задачи в том, что бы найти слова которые встречаются в тексте всего 1 раз.
0
Fixer_84
634 / 440 / 219
Регистрация: 30.04.2016
Сообщений: 1,271
07.05.2016, 20:08 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
kilidon, понял. Попробую переделать.

Добавлено через 58 минут
kilidon, я бы сделал так. Вроде работает

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
#include <iostream>
#include <cmath>
#include <vector>
#include <fstream>
 
using namespace std;
 
int main()
{
ifstream fin("input.txt");
int k;
vector<std::string> A;
while(!fin.eof()) 
{ 
string a, b;
getline(fin, a);
a = a + ' ';
k = 0;
for (int i = 0; i < a.length(); i++)
{
k++;
if (isalpha(a[i])) b += a[i]; 
if (a[i] == ' ') 
{
k--;
A.push_back(b);
k = 0;
b = "";
}
}
}
fin.close();
cout << "Уникальные слова в файле:" << endl;
for (int i = 0; i < A.size(); i++)
{
k = 0;
for (int j = 0; j < A.size(); j++)
{
if (A[i] == A[j]) k++;
}
if (k == 1)
{
cout << A[i] << endl;
}
}
system("pause"); 
return 0;   
}
1
07.05.2016, 20:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2016, 20:08
Привет! Вот еще темы с ответами:

Определить, имеются ли в последовательности слова, в которых каждая буква слова входит в него не менее двух раз - C++
Есть задача, никак не могу разобраться, помогите пожалуйста реализовать)) Определить, имеются ли в последовательности слова, в которых...

слова в файле - C++
Как считать слова из файла? и как сосчитать кол-во слов в файле?:scratch:

Поиск слова в файле - C++
Кто знает помогите! Суть проблемы: &quot;Есть файл в котором построчно хранятся слова(каждое слово с новой стоки), программа должна искать в...

Чтение слова в файле - C++
Как можно получить слово, номер которого будет передаваться в функцию? (word_number) bool CodeIsPresent(string&amp; search_word, string...


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

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

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