Подсчитать количество слов в файле
Добрый день. Подскажите пожалуйста, как лучше посчитать количество слов в файле? Вот я сделал, однако он цифры тоже считает за слова. Как сделать так, что бы цифры не считались за слова?
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 ничего и не будет создавать. Это поток для чтения.
Форумчанин
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>()); }
5277 / 2364 / 342
Регистрация: 20.02.2013
Сообщений: 5,763
Записей в блоге: 20
Комментарий модератора | ||
п. 3. Лучше избегать в заголовке сокращений (Кол-во, макс. мин. и т.д.) и особо не допускать стиля «телеграммы», т.е. когда для того, чтобы уместить в заголовок большое предложение, пользователь начинает обрезать и сокращать многие слова. 87844 / 49110 / 22898 Подсчитать количество строк в текстовом файле Подсчитать количество подстрок в текстовом файле В текстовом файле подсчитать количество символов и строк Файл: В текстовом файле подсчитать количество непустых строк. В текстовом файле подсчитать количество строк, которые оканчиваются буквой «в» Программирование на C, C# и JavaУроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советыОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode Как подсчитать количество слов в файле C#В данной теме мы решили объединить две предыдущие статьи — это Программа, которая выводит на экран содержимое файла и Как подсчитать количество слов в тексте С#, и создать программу на языке C#, которая вела бы подсчёт слов в файле. Перво-напрево не забываем про директиву using System . IO ; В данной директиве находится класс, описывающий работу с файлами. Без него у нас ничего не заработает. using System ; Итак, сначала мы объявляем строковую переменную s, в которую будет считываться весь текст из файла. Мы присвоили данной переменной пустое значение. Так вот, после инициализации переменных мы инициализируем экземпляр класса StreamReader, который и отвечает за чтение файлов. Назовём этот экземпляр sr и укажем в скобках путь, по которому лежит необходимый нам файл. Наш файл находится на диске E и называется textfile.txt Далее идёт цикл, в процессе которого мы и присваиваем переменной s весь текст из нашего файла (читая его построчно). Пока конец файла sr не будет достигнут, мы присваиваем переменной s его содержимое. После того, как все данные считаны в s, массив строк начнёт делить содержимое данной переменной по пробелам, как мы описали чуть выше. Всё, что нам в итоге остаётся — это посчитать количество элементов textMass(строка 24). Это и будет искомое количество слов в файле. Также нам надо обязательно не забыть закрыть файл в любом месте кода, когда файл уже перестал пригождаться. Результаты нашей программы, которая находит количество слов в файле C# таковы: Количество слов в файле textfile Проверим в Microsoft Office Word: Количество слов совпадает. Исходный код данной программы можно скачать ниже: Подсчитать количество слов в строке (Си)Слово — последовательность символов, разделенных пробелами. Под пробелами тут будем понимать символ пробела (не табуляции или чего-то еще). Посчитать число пробелов (и групп пробелов) — неправильно. Ведь строка без пробелов может быть пустой, а может содержать одно слово. Строка с одним словом может содержать ноль пробелов, а также 1 или 2 группы пробелов (перед и после слова). Правильно — считать пары <группу пробелов> Решение будет таким: 1. Считаем с текущей (изначально нулевой) позиции в строке длину группы пробелов, прибавляем ее к текущей позиции. За счет этого группа «пропущена». 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() Пример выполнения программы: |