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

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

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

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

17.03.2015, 18:20. Просмотров 485. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Получила задание посчитать количество предложений в строке и в каждом предложении посчитать количество символов, всё считается, только нужно игнорировать пробелы, но у меня не получается(

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
38
39
#include <iostream>
using namespace std;
const int size = 100;
void String (char *text);
int main()
{
char text[size] = "";
cout << "Enter your text:\n";
cin.clear();
cin.sync();
cin.getline (text, size);
String(text);
cin.get();
cin.get();
return 0;
}
 
void String (char *text)
{
    int sentence = 0;
    int i = 0, j = 0, mas[j];
    mas[0] = -1;
    while (text[i]!= '\0')
        {
            mas[j]++;
            if(text[i] == '.')
                {
                   sentence++;
                   j++;
                   mas[j] = -2;
                }
            i++;
        }
    cout << "\nThere are " << sentence << " sentences.\n";
    for (int j = 0; j < sentence; j++)
    {
         cout << "In the "<< j+1 << " sentence there are " << mas[j] << " symbols.\n";
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2015, 18:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посчитать количество символов без пробелов в каждом предложении (C++):

Строки: посчитать количество символов без пробелов - C++
посчитать кол-во символом без пробелов.Что в этом коде не так,подскажите,пожалуйста. #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; ...

Нужно вывести количество (цифрой) символов без пробелов - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; char*...

Функция, определяющая количество символов в строке без учета пробелов - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; using...

Дан текстовый файл. Вывести на экран количество предложений в нём и количество слов в каждом предложении. - C++
Помогите решить задачку пожалуйста. Дан текстовый файл. Вывести на экран количество предложений в нём и количество слов в каждом...

Дан текстовый файл. Вывести на экран количество предложений в нём и количество слов в каждом предложении - C++
Помогите пожалуйста решить задачку, буду очень благодарен. Дан текстовый файл. Вывести на экран количество предложений в нём и количество...

Определить в каждом предложении текста колличество символов, отличных от букв и пробела - C++
Помогите пожалуйста решить задачу!!! С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000...

4
ValeryS
Модератор
6781 / 5189 / 495
Регистрация: 14.02.2011
Сообщений: 17,411
17.03.2015, 18:26 #2
Цитата Сообщение от schecter6661 Посмотреть сообщение
mas[j]++;
я так понял ты здесь символы подсчитываешь?
например так
C
1
2
if(text[i]!=' ')
 mas[j]++;
Добавлено через 36 секунд
Цитата Сообщение от schecter6661 Посмотреть сообщение
mas[j] = -2;
почему -2?
0
schecter6661
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 8
17.03.2015, 18:57  [ТС] #3
Чтобы не учитывались точка и пробел после неё в каждом предложении
Но баг в том, что если этот пробел не ставить, то считается на 1 символ меньше
0
ValeryS
Модератор
6781 / 5189 / 495
Регистрация: 14.02.2011
Сообщений: 17,411
17.03.2015, 19:06 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
ты не учитываешь что предложения заканчиваются не только точкой
я бы переписал так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    while (text[i]!= '\0')
        {
            switch(text[i])
             {
             case '.':
             case '!':
             case '?':
                   sentence++;
                   j++;
                   mas[j] = 0;
               break;
             case ' ':
             case ',':
               break;
            default:
               mas[j]++;
              }
            i++;
        }
0
schecter6661
0 / 0 / 0
Регистрация: 28.06.2014
Сообщений: 8
17.03.2015, 19:19  [ТС] #5
О, вот это заработало, спасибо огромное!
0
17.03.2015, 19:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2015, 19:19
Привет! Вот еще темы с ответами:

Посчитать количество пробелов в строке - C++
Посчитать количество пробелов в строке

Посчитать количество пробелов в тексте - C++
Помогите c задачей вот написал код,а он из за строки cout&lt;&lt;k&lt;&lt;endl; выкидывает ошибку #include &quot;stdafx.h&quot; #include&lt;iostream&gt; ...

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

Посчитать количество слов в предложении - C++
Задача: Посчитать слова (слова разделены одним или несколькими пробелами) в текстовом файле и добавить информацию об этом (например: 'В...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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