Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
#1

поправьте меня (Определите, сколько различных слов содержится в тексте) - C++

27.09.2013, 01:40. Просмотров 765. Ответов 5
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
Во входном файле (вы можете читать данные из файла input.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
#include <iostream>
#include<set>
#include<string>
using namespace std;
int main(int args, char* argv[]) 
{ 
set<string> s;
 char str_file[100]; 
 string tmp;
 FILE* fp = fopen("input.txt","r"); 
 if(fp != NULL) 
 { 
 
 char ch; 
 while((ch = getc(fp)) != EOF) 
   tmp +=ch;
 
 if (tmp.find(' ')) {
     tmp.resize(tmp.size()-1);
 
     s.insert(tmp);
     tmp = "";
 }
 cout<<s.size();
} 
else printf("Невозможно открыть файл на чтение.\n"); 
 fclose(fp); 
 
 system("pause");
 
 return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2013, 01:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос поправьте меня (Определите, сколько различных слов содержится в тексте) (C++):

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? - C++
Здравствуйте, мне вот задание дали. Подскажите алгоритм решения, а то я не очень с этим разбираюсь. Задача: Дан файл, содержащий текст....

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? - C++
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? Помогите пожалуйста

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

Определите количество слов в тексте - C++
дан файл содержащий производный текст .Определите количество слов в тексте . напишите пожалуйста подробное решение))) пожалуйста прошу...

Сколько слов, состоящих только из прописных букв, содержится в сообщении - C++
Всем привет.Есть такое вот задание: Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком...

Хеш-таблицы, сгенерировать список различных слов в тексте (с количеством вхождений их в этот текст) - C++
Напишите компьютерную программу которая использует хеширование для следующей задачи. Имеется текст на естественном языке. Требует- ся...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,566
Записей в блоге: 4
27.09.2013, 04:31 #2
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
#include <iostream>
#include <string>
#include <vector>
#include<fstream>
using namespace std;
int main(){
std::string f = "iput.txt";
const char* filename = f.c_str();
const char* out_cstring = "asd bse\thgte\ndfgh asd\nbse fd\t asa";
ofstream out_file(filename, ios::out);
out_file<<out_cstring;
out_file.close();
 
ifstream in_file(filename, ios::in);
vector<string> origin_str;
string word;
string rezult;
while (in_file >> word){
    origin_str.push_back(word);
cout<<word<<endl;
rezult+=word+" ";
}
cout << "rezult " << rezult << endl;
in_file.close();
 
vector<string> copy_str(origin_str);
size_t words_number = origin_str.size();
int *arr_of_duplications = new int[words_number];
for(size_t i = 0; i < words_number; ++i)arr_of_duplications[i]=0;
 
for(size_t i = 0; i < words_number; ++i){
    for(size_t j = 0; j < words_number; ++j){
        if(origin_str[i] == copy_str[j]){
            arr_of_duplications[i] += 1 ;
                    }
    }
}
cout<<endl;
size_t different_words_number=0;
for(size_t i = 0; i < words_number; ++i){
if(arr_of_duplications[i]==1)different_words_number++;
}
cout<<"Common nuber of different words is: "<<different_words_number<<endl;
delete []arr_of_duplications;
cin.get();   
return 0;
}
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
27.09.2013, 08:22  [ТС] #3
спасибо большое))
глянул на код, вспомнил работу с файлами =)
на самом деле все было куда проще)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include<set>
#include<string>
#include<fstream>
using namespace std;
int main(int args, char* argv[]) 
{ 
    set<string> s;
    string f = "input.txt";
    const char* filename = f.c_str();
    ifstream in_file(filename, ios::in);
    ofstream out_file("output.txt",ios::out);
    string word;
    string rezult;
 
    while (in_file >> word){
    s.insert(word);
    }
    out_file << s.size();
    return 0; 
}
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,566
Записей в блоге: 4
27.09.2013, 12:24 #4
Цитата Сообщение от BabyGluk Посмотреть сообщение
на самом деле все было куда проще)
Зачем же спрашивали? Конечно, используя множество можно и не знать, что там делается, но мне было бы веселее, если бы Вы спросили, что-то вроде: - "А зачем вектор копии создавать, когда можно было по исходному пройти?"
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
27.09.2013, 13:07  [ТС] #5
Цитата Сообщение от IGPIGP Посмотреть сообщение
Зачем же спрашивали? Конечно, используя множество можно и не знать, что там делается, но мне было бы веселее, если бы Вы спросили, что-то вроде: - "А зачем вектор копии создавать, когда можно было по исходному пройти?"
спрашивал, просто забылся как читать слова с файла =)
спасибо большое)
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,566
Записей в блоге: 4
27.09.2013, 14:47 #6
Цитата Сообщение от BabyGluk Посмотреть сообщение
спасибо большое)
Не за что.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2013, 14:47
Привет! Вот еще темы с ответами:

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

Посчитать сколько в тексте слов с 1, 2 и 3 слогами - C++
помогите пжлс, нужно посчитать сколько в тексте слов с 1, 2 и 3 слогами. Спасибо

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.09.2013, 14:47
Ответ Создать тему
Опции темы

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