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

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

  • автор:

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

Добрый день. Подскажите пожалуйста, как лучше посчитать количество слов в файле? Вот я сделал, однако он цифры тоже считает за слова. Как сделать так, что бы цифры не считались за слова?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
int main () { int fSpace = 1, nCount = 0; char ch[2] = {0}; FILE *fh = fopen("text.txt", "r"); while (! feof(fh)) { fgets(ch, 2, fh); if (ch[0] > 41) fSpace = 0; else if (0 == fSpace) { nCount++; fSpace = 1; } ch[0] = 0; } fclose(fh); printf("%d\n", nCount); }

Вообще, я думал что сейчас цифры не должно считать как слова, ибо 40 это кд нуля. Однако нет. Всё равно считает цифры как слово

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Подсчитать количество слов в файле
Задачка вот такая, нужна помощь с ее решением) Один из способов идентификации автора.

Подсчитать количество слов helloz в файле
Изначально дан файл с текстом, после подсчета количества слов helloz, нужно записать в файл их.

Подсчитать количество слов ananas в файле
Код не проходит тесты ( Return code of executed application is different than expected. ) . Можете.

В заданном текстовом файле подсчитать количество слов
В заданном текстовом файле подсчитать количество слов и вывести ее на дисплей. С помощью FILE*

3175 / 1934 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1

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
int main(int argc,char** argv) { int iChr = 0; int iCnt = 0; bool bPrev = false; bool bNext = false; FILE* pIn = fopen("text.txt","rt"); if (!pIn) { // Error ! return 0; } while ((iChr = fgetc(pIn)) != EOF) { bNext = isalpha(iChr) ? true : false; if (bNext) { bPrev = true; } if (bPrev && !bNext) { bPrev = false; ++iCnt; } } fclose(pIn); printf("Words total: %d\n",iCnt); return 0; }

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Подсчитать количество слов в файле при помощи GETWORD
Подсчитать количество слов в текст. файле.При помощи GETWORD.

Текст состоит из слов, разделенных пробелами. Подсчитать количество слов, начинающихся с буквы К
Дан текст произвольной длины, оканчивающий точкой. Текст состоит из слов, разделенных проблемами.

Подсчитать количество слов в тексте,посчитать количество символов нижнего регистра
Создала программу, которая считает слова, начинающихся и заканчивающиеся одной буквой, но нужно.

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

Подсчитать количество слов в текстовом файле

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

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

Подсчитать число слов в предложении, записанном в текстовом файле. Язык C++
//// программа с файлами оч сложная

Количество слов в текстовом файле
Здравствуйте. Допустим у меня есть текстовый файл, в котором нужно посчитать количество слов, как.

671 / 217 / 88
Регистрация: 21.07.2016
Сообщений: 1,036
Записей в блоге: 2

1 2 3 4 5 6
std::ifstream fin("input.txt", std::ios::in|std::ios::_Nocreate); size_t words_counter = 0; std::string buffer; while(fin >> buffer) ++words_counter; std::cout  words_counter  std::endl;

Любитель чаепитий
3741 / 1798 / 565
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1

ЦитатаСообщение от dailydose Посмотреть сообщение

std::ios::_Nocreate

WTF.
Это что ещё за хаки?
std::ifstream ничего и не будет создавать. Это поток для чтения.
Форумчанин

Эксперт CЭксперт С++

8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453

1 2 3 4 5 6 7 8 9 10
#include #include #include #include int main() { std::ifstream ifs("input.txt"); std::cout  std::distance(std::istream_iteratorstd::string>(ifs), std::istream_iteratorstd::string>()); }

Эксперт CЭксперт С++

5277 / 2364 / 342
Регистрация: 20.02.2013
Сообщений: 5,763
Записей в блоге: 20

Комментарий модератора
Mike0, пожалуйста, прочитайте правила форума. Особое внимание обратите на пункт 4.3 .
Ознакомьтесь с порядком именования тем. Специально для Вас публикую выдержку оттуда (потому что приходится править названия почти у каждой второй Вашей темы):

п. 3. Лучше избегать в заголовке сокращений (Кол-во, макс. мин. и т.д.) и особо не допускать стиля «телеграммы», т.е. когда для того, чтобы уместить в заголовок большое предложение, пользователь начинает обрезать и сокращать многие слова.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Подсчитать количество строк в текстовом файле
Нужно написать программу : Подсчитать количество строк в текстовом файле. Под строкой понимать.

Подсчитать количество подстрок в текстовом файле
Помогите написать программу которая может подсчитать сколько раз подстрока встречается в текстовом.

В текстовом файле подсчитать количество символов и строк
Ребята! Помогите разобраться с файлами нужно — в текстовом файле. Подсчитать количество символов и.

Файл: В текстовом файле подсчитать количество непустых строк.
В текстовом файле подсчитать количество непустых строк.

В текстовом файле подсчитать количество строк, которые оканчиваются буквой «в»
В текстовом файле подсчитать количество строк, которые оканчиваются буквой «в». Вообще не умею.

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

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

В данной теме мы решили объединить две предыдущие статьи — это Программа, которая выводит на экран содержимое файла и Как подсчитать количество слов в тексте С#, и создать программу на языке C#, которая вела бы подсчёт слов в файле.

Перво-напрево не забываем про директиву

using System . IO ;

В данной директиве находится класс, описывающий работу с файлами. Без него у нас ничего не заработает.
Сам код программы будет выглядеть вот так:

using System ;
using System . Collections . Generic ;
using System . Linq ;
using System . Text ;
using System . Threading . Tasks ;
using System . IO ;
namespace wordscount
class Program
static void Main ( string [ ] args )
string [ ] textMass ;
StreamReader sr = new StreamReader ( «E:\\textfile.txt» ) ;
while ( sr . EndOfStream ! = true )
s += sr . ReadLine ( ) ;
textMass = s . Split ( ‘ ‘ ) ;
Console . WriteLine ( «Количество слов:» ) ;
Console . WriteLine ( textMass . Length ) ;
Console . ReadLine ( ) ;

Итак, сначала мы объявляем строковую переменную s, в которую будет считываться весь текст из файла. Мы присвоили данной переменной пустое значение.
Далее был объявлен массив строк textMass, который будет считывать каждое слово из строки s, одно слово — это один элемент массива. Забегая вперед, скажем, что слова (а значит и элементы массива) мы будет отделять друг от друга пробелом при помощи метода Split (22 строка). То есть, кусок строки между двумя пробелами в нашем понимании — это одно слово (путь даже с примкнувшими к нему знаками препинания), а значит, и один элемент массива. После этого нам будет очень легко посчитать количество всех элементов — это и будет количество слов в тексте.

Так вот, после инициализации переменных мы инициализируем экземпляр класса StreamReader, который и отвечает за чтение файлов. Назовём этот экземпляр sr и укажем в скобках путь, по которому лежит необходимый нам файл. Наш файл находится на диске E и называется textfile.txt

Далее идёт цикл, в процессе которого мы и присваиваем переменной s весь текст из нашего файла (читая его построчно). Пока конец файла sr не будет достигнут, мы присваиваем переменной s его содержимое.

После того, как все данные считаны в s, массив строк начнёт делить содержимое данной переменной по пробелам, как мы описали чуть выше.

Всё, что нам в итоге остаётся — это посчитать количество элементов textMass(строка 24). Это и будет искомое количество слов в файле.

Также нам надо обязательно не забыть закрыть файл в любом месте кода, когда файл уже перестал пригождаться.

Результаты нашей программы, которая находит количество слов в файле C# таковы:

Как подсчитать количество слов в файле C# - vscode.ru

Как подсчитать количество слов в файле C# - vscode.ru

Количество слов в файле textfile

Проверим в Microsoft Office Word:

Как подсчитать количество слов в файле C# - vscode.ru

Количество слов совпадает.

Исходный код данной программы можно скачать ниже:

Подсчитать количество слов в строке (Си)

Слово — последовательность символов, разделенных пробелами. Под пробелами тут будем понимать символ пробела (не табуляции или чего-то еще). Посчитать число пробелов (и групп пробелов) — неправильно. Ведь строка без пробелов может быть пустой, а может содержать одно слово. Строка с одним словом может содержать ноль пробелов, а также 1 или 2 группы пробелов (перед и после слова). Правильно — считать пары <группу пробелов> Решение будет таким: 1. Считаем с текущей (изначально нулевой) позиции в строке длину группы пробелов, прибавляем ее к текущей позиции. За счет этого группа «пропущена».
2. Считаем с текущей позиции длину группы непробельных символов ( word_length ).
3. Если word_length болшье нуля — увеличиваем счетчик слов. Прибавляем длину слова к текущей позиции — за счет этого слово «пропущено».
4. Процесс повторяется пока счетчик не станет больше длины строки. Ясно что подсчет пробелов и непробелов — это две разные функции, которые отличаются лишь оператором сравнения текущего символа. Красивое решение заключается в передаче этой функции в качестве параметра указателя на функцию сравнения. Функции сравнения при этом можно описать так:

int is_space(char c) < return c == ' '; >int is_not_space(char c)

Имея их совсем несложно добавить к пробельным символам что-то еще — табуляции, короткие пробелы, переводы строки т.п. Функция подсчета тогда может быть описана так:

int count_start_if(char* str, int (*pred)(char)) < int count = 0; while (*str != 0) < if (pred(*str)) < count++; str++; >else break; > return count; >

Первым аргументом она принимает указатель, однако в качестве него может быть передана подстрока так: &str[i] — передаем часть строки, начиная с i -того символа. Исходный код программы целиком:

#include #include #include #include int is_space(char c) < return c == ' '; >int is_not_space(char c) < return 0 == is_space(c); >int count_start_if(char* str, int (*pred)(char)) < int count = 0; while (*str != 0) < if (pred(*str)) < count++; str++; >else break; > return count; > int count_words(char* str) < int length = strlen(str); int count = 0; int i = 0; while (1) < int spaces_count = count_start_if(&str[i], is_space); i += spaces_count; if (i >= length) < break; >int word_length = count_start_if(&str[i], is_not_space); if (word_length > 0) < count++; >i += word_length; if (i >= length) < break; >> return count; > int main()

Пример выполнения программы:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *