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

Как можно подсчитать количество слов в предложении? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разложения числа на цифры http://www.cyberforum.ru/cpp-beginners/thread25337.html
Например как получить из числа 152 числа 1,5,2 ?
C++ Неизменяемые поля В задаче есть условие, что в классе есть неизменяемые поля, а инициализировать их нужно через конструктор. Например, #include <iostream> using namespace std; class name { public: name (const char* txt) { itsName = new char ; strcpy (itsName, txt); http://www.cyberforum.ru/cpp-beginners/thread25336.html
Нужно составить программу решения задачи оптимального выбора методом случайного тпоиска(монте-карло) C++
Задана таблица из 10 элементов. Вес 16 11 12 13 14 15 16 17 18 19 Цена 18 20 17 19 22 21 27 23 25 24 Нужно составить программу решения задачи оптимального выбора методом случайного тпоиска(монте-карло) Написать в С++ Builder и не в консоли. Заранее благодарю если кто откликнеться и поможет
C++ Примеры из книги выдают ошибки
я чяйник, хочу выучить програмирование, в железе разбираюсь , хочу выучить с++, сейчас читаю книгу УОЛТЕР САВИЧ ПРОГРАММИРОВАНИЕ С++ 4 издание, в теории все понимаю в начале не так сложно как все пугают, только вот возникла проблема с практикой. У меня ВИСТА прочитал на форуме чтоб мне практиковаться писать задачи как в книге нужно скачать Microsoft Visual Basic 2008 Express Edition. так и...
C++ vector<Struct2{int,vector<struct1>}> или множественное наследование ... http://www.cyberforum.ru/cpp-beginners/thread25309.html
Здравствуйте! Помогите, пожалуйста. Есть такие данные: typedef struct { int x; int y; // координаты вершин }Point; typedef struct { int vertex_num; // количество вершин
C++ Массивы, Циклы и немного геометрии. Даны такие задачи. Очень жду вашей помощи, господа программисты. подробнее

Показать сообщение отдельно
chander
0 / 0 / 0
Регистрация: 07.03.2009
Сообщений: 5
08.03.2009, 17:03  [ТС]
XuTPbIu_MuHTAu, Попробовал твой код, который ты мне дал, выдает ошибку дебагерра: Expression: (unsigned)(c + 1) <=256
Вот код, если не слишком сложно - просмотри, выручи:
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
34
35
36
37
#include <fstream>
#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
  const int len=271; //Задание размера строки
  char str[len-1]; 
  int i=0,flag=0,counter=0;
  ifstream in;
  in.open("laba.txt");//открытие файла
  if (in.fail()) //Проверка на открытие файла
        {
           cout << "Input file opening failed!";
           exit(1);
        }
    in >> str[len-1];
  in.close();//Закрываем поток
  in.open("laba.txt");//Открываем поток
  while (in.get(str[len-1]))
  {
      cout << str[len-1];
  }
 for(int i=0;i<strlen(str);i++) 
    {
     if( isalpha(str[i]) && !flag ) 
     { 
           flag=1;
           counter++;
     }
     if( isspace(str[i]) ) flag=0;
   };
  in.close();
  cout << counter;
  system("PAUSE");
  return 0;
}
Добавлено через 18 минут 45 секунд
Ошибка заключается именно в этом кусочке, т.к. если убераю - компилируется.
C++
1
2
3
4
5
6
7
8
9
 for(int i=0;i<strlen(str);i++) 
    {
     if( isalpha(str[i]) && !flag ) 
     { 
           flag=1;
           counter++;
     }
     if( isspace(str[i]) ) flag=0;
   };
Написал вот так:
C++
1
2
3
4
5
6
7
8
9
 while(in.get(str[len-1]))
    {
         if(isalpha(str[len-1]) && !flag )  
        {
            flag=1;
            counter++;
        }
        if(str[i]==' ') flag=0;
    }
Почему-то не считает - всегда 0, хоть ошибка и пропала.

P.S. Разобрался, если кому интересно, то необходимо вместо if писать while, и в этом же цилке писать и вывод теста, и подсчет слов.

Добавлено через 20 минут 1 секунду
XuTPbIu_MuHTAu, Ну в теории все легко, верно? А какие символы необходимо сделать флажками начала предложения?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru