Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Xerasima
0 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 30
1

Как подсчитать количество слов в файле

16.12.2015, 21:29. Просмотров 390. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <fstream>
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "rus"); 
    char buff[1000]; 
    ifstream fin("TYROK.txt"); 
 while(fin.getline(buff, 1000))     
{
 cout << buff << endl; 
}fin.close();
   
 
    return 0;
}
Вообщем эта программа выводит текст из файла на экран. И мне надо подсчитать количество выведенных слов,как это сделать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2015, 21:29
Ответы с готовыми решениями:

Подсчитать количество слов в текстовом файле
дан текстовый файл, подсчитать кол-во слов в файле

Подсчитать количество слов в текстовом файле
Написать программу, подсчитывающую количества слов в текстовом файле. P.C. Дайте ответ...

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

Дан текст в файле. Подсчитать в нем количество слов, имеющих длину меньше заданного числа.
Задан текст. Нужно подсчитать в нем количество слов, имеющих длину меньше заданного числа. Текст...

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

2
nord_v
329 / 177 / 80
Регистрация: 22.08.2013
Сообщений: 724
16.12.2015, 21:59 2
getline() читает строку, а ты используй для чтения оператор >> (fin >> buff), он читает именно слова до разделительного символа (в частности, до пробела или символа новой строки '\n'). После чтения увеличивай стётчик слов и проверяй следующий символ с помощью peek(), если там пробел, то добавляй при выводе пробел, если '\n', то добавляй при выводе '\n'.

Добавлено через 9 минут
Другой способ: читай с помощью get() и выводи текст посимвольно, если считан не пробел, а следующий пробел или EOF (peek()), то значит прочитано слово.
0
Геомеханик
792 / 597 / 939
Регистрация: 26.06.2015
Сообщений: 1,409
16.12.2015, 22:21 3
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
#include <iostream>
#include <fstream>
#include <cctype>
#define is_delim(c) (std::isspace((c)) || std::ispunct((c)))
 
size_t count_words(std::istream& _in){
    int    e;
    char   c;
    size_t n = 0, k = 0;
    do {
        _in.get(c);
        e = _in.eof();
        if(! is_delim(c) && !e)
            k = 1;
        else if(k){
            ++n;
            k = 0;
        }
    } while(!e && !_in.fail());
    return n;
}
 
int main(void){
    //с консоли
    std::cout << "count words: " << count_words(std::cin) << std::endl;
 
/*  ввод из файла
    std::ifstream fp("config.ini");
    std::cout << "count words: " << count_words(fp) << std::endl;
    fp.close();
*/
    return 0;
}
Пример работы кода
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2015, 22:21

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

Как подсчитать количество строк в файле?
Подскажите пожалуйста код программы как подсчитать кол-во строк в файле

Как подсчитать количество записей в файле?
Есть файл, в нем хранится определенное количество структур размером sizeof(Student), необходимо...


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

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

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