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

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

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

Подсчет слов в тексте со многими пробелами - C++

20.10.2012, 17:51. Просмотров 494. Ответов 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>
using namespace std;
void main()
{
   FILE *File;
   File = fopen("ab.txt", "r");
   char s;
   int WORDN=0;
   int LETTERN=0;
    while((s=fgetc(File))!=EOF)
   {
      if((s=='\n')||(s==' ')||(s=='\t'))
         WORDN++;
      if((s!='\n')&&(s!=' ')&&(s!='\t'))
        LETTERN++;
   }
   fclose(File);
   cout<<"Number of word:"<<WORDN+1<<"\n";
   cout<<"Number of letters:"<<LETTERN<<"\n";
   
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 17:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчет слов в тексте со многими пробелами (C++):

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

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

Подсчет числа слов в тексте. Слишком много аргументов для вызова - C++
Пожалуйста помогите, нужно подсчитать количество слов в тексте, у меня выводит 2 ошибки: Ошибка 1 error C2197: bool (__cdecl...

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

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

Вывод слов с пробелами - C++
На символьной строке, не превышающей 80-ти символов, соседние слова разделены пробелом, и строка заканчивается на &quot;.&quot; точку. Вывести все...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
20.10.2012, 18:14 #2
C++
1
2
3
4
5
if((s=='\n')||(s==' ')||(s=='\t'))
{
         WORDN++;
         while (s=fgetc(File) && s == ' '){}; //добавь считывание лишних пробелов
}
1
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.10.2012, 18:47 #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
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <string>
#include <cstdlib>
 
int main()
{
    std::ifstream fin("input.txt");
 
    std::size_t words = 0, letters = 0;
 
    std::for_each
    (
        std::istream_iterator<std::string>(fin),
        std::istream_iterator<std::string>(),
        [&words, &letters] (const std::string& str)
        {
            ++words;
            letters += str.length();
        }
    );
 
    std::cout << "Words:   " << words << std::endl;
    std::cout << "Letters: " << letters << std::endl;
 
    return 0;
}
0
nick55
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 15
21.10.2012, 14:41  [ТС] #4
Помогло.Теперь сколько пробелов не было б, программа читает их как один пробел.Но теперь подсчет слов останавливается не в конце файла, а в каком то месте, и поэтому количиство слов которые выдает програма не совпадает с реальным их количиством. Что не так?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 14:41
Привет! Вот еще темы с ответами:

заданы 2 строки, состоящие из слов, разделенных пробелами - C++
заданы 2 строки, состоящие из слов, разделенных пробелами. Если последнее слово больше предпоследнего , то заменить первые пять буквой &quot;а&quot;,...

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

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

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


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

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

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