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

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

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

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

20.10.2012, 17:51. Просмотров 455. Ответов 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";
   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 17:51     Подсчет слов в тексте со многими пробелами
Посмотрите здесь:

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? C++
C++ Подсчет скобок в тексте
C++ Подсчет количества слов в строке s разделенных пробелами, или запятой
Дан список слов, разделенных между собой пробелами C++
Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). ​​Определить количество слов, которые заканчиваются одной и той C++
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? C++
заданы 2 строки, состоящие из слов, разделенных пробелами C++
Подсчет количества символов в тексте C++
C++ Подсчет числа слов в тексте. Слишком много аргументов для вызова
C++ Подсчет слов в тексте
Вывод слов с пробелами C++
В тексте все слова разделены пробелами и знаками препинания C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4258 / 2790 / 219
Регистрация: 12.12.2009
Сообщений: 7,118
Записей в блоге: 1
Завершенные тесты: 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 == ' '){}; //добавь считывание лишних пробелов
}
soon
2537 / 1302 / 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;
}
nick55
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 15
21.10.2012, 14:41  [ТС]     Подсчет слов в тексте со многими пробелами #4
Помогло.Теперь сколько пробелов не было б, программа читает их как один пробел.Но теперь подсчет слов останавливается не в конце файла, а в каком то месте, и поэтому количиство слов которые выдает програма не совпадает с реальным их количиством. Что не так?
Yandex
Объявления
21.10.2012, 14:41     Подсчет слов в тексте со многими пробелами
Ответ Создать тему
Опции темы

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