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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
#1

Нужно посчитать количество слов в тексте - C++

08.02.2010, 20:52. Просмотров 2217. Ответов 13
Метки нет (Все метки)

Нужно посчитать количество слов в тексте, подкииньте, кто знает какие-то идеи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2010, 20:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно посчитать количество слов в тексте (C++):

Как посчитать количество одинаковых слов в тексте? - C++
Пример того, как должна работать программа ***************************************************************************** Введите текст:...

Посчитать в тексте количество слов с заглавной буквы - C++
сколько в заданом тексте собственных имен? :-|немогу написать код в лабе.. в итоге программа должно посчитать количество слов с большой...

Посчитать количество слов в указанном тексте, длина которых не превышает три символа - C++
Нужно посчитать количество слов в указанном тексте, длина которых не превышает три символа

Посчитать количество слов "что" в заданном тексте - C++
Дано текст. Сколько в нём слов "что".

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

Посчитать сколько в тексте слов с 1, 2 и 3 слогами - C++
помогите пжлс, нужно посчитать сколько в тексте слов с 1, 2 и 3 слогами. Спасибо

13
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.02.2010, 21:01 #2
Это просто сейчас усё будет...

Добавлено через 6 минут
Вот такая идея.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define S_BUF 100
void main(){
char str[S_BUF];
printf("input text <100 symbols\t");
gets(str);
int countW = 1;   //êîëè÷åñòâî ñëîâ
unsigned int i;
for(i=0;i<strlen(str);i++)if(str[i]==' ')countW ++;
//Âûâîäèì êîëè÷åñòâî ñëîâ
printf("words\t");
printf("%d",countW);
printf("\n");
 
 
getch();
return;
}
1
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
08.02.2010, 21:04  [ТС] #3
эт ты на каком компиляторе написал?
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.02.2010, 21:05 #4
Visual C++ 6.0
0
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
08.02.2010, 21:07  [ТС] #5
Можешь пожалуйста кратко объяснить идею проги, а то я не совсем её понимаю
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.02.2010, 21:12 #6
Вводим строку допустим:
Счетчик слов имеет значение 1, как минимум одно слов в строке точно есть.
"привет Shevva."
Далее в цикле просматриваем всю строку:
Если обнаруживаем пробел тогда увеличиваем счётчик: так как далее может следовать ещё слово.

strlen(str) - определяет позицию: '\0' - символа конца строки.
1
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
08.02.2010, 21:15  [ТС] #7
Цитата Сообщение от Genius Ignat Посмотреть сообщение
#define S_BUF 100
А что означает эта строчка?
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.02.2010, 21:18 #8
Shevva:
Совет не делай в строке более одного пробела между словами.
Если сделать более одного пробела между словами логика, не сработает.
Но я могу поправить ситуацию если хочешь.

Добавлено через 2 минуты
#define S_BUF 100 - макроопределение^ где написано S_BUF там препроцессор поставит 100
char str[S_BUF]; //будет записано так char str[100];

S_BUF - можно сказать что это размер массива.
0
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
08.02.2010, 21:21  [ТС] #9
НЕ это ничё, ток когда я поставил запятую, прога не посчитала чёт как надо.

Добавлено через 2 минуты
то есть
Цитата Сообщение от Genius Ignat Посмотреть сообщение
#define S_BUF 100
и
Цитата Сообщение от Genius Ignat Посмотреть сообщение
char str[S_BUF];
можна переписать, как
C++
1
 char str[100]
?
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.02.2010, 21:21 #10
if(str[i]==' '||str[i]==',') - расширь логику, союзами или: для других знаков препинания.
1
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
08.02.2010, 21:23  [ТС] #11
Спасибо, выручил.
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.02.2010, 21:26 #12
char str[100]; //это тоже можно, но макрос для удобства.
Так как, если ты поменяешь значение в макросе,
везде в программе где написано S_BUF будет подставлен нужный размер массива.
Макрос для удобства.
1
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
09.02.2010, 12:57 #13
Цитата Сообщение от Genius Ignat Посмотреть сообщение
#define S_BUF 100 - макроопределение^ где написано S_BUF там препроцессор поставит 100
char str[S_BUF]; //будет записано так char str[100];

S_BUF - можно сказать что это размер массива.
Если не ошибаюсь, таким образом определялись константы для языка C, пока не появилось ключевое слово const в языке C++. Т.е., можно сделать так:
C++
1
2
const int size=100;
char str[size];
...Хотя разницы особой я не вижу
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.02.2010, 19:02 #14
Nameless One:
Разница есть
напиши так:
#define MAX 100
#define MAX 200
//Ошибки не будет но будет походу переопределение макроса.
А если так
const int MAX = 100;
const int MAX = 200;
Компилятор точно заарёт что это переопределение.
0
09.02.2010, 19:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2010, 19:02
Привет! Вот еще темы с ответами:

Посчитать количество знаков препинания в тексте и вывести их количество. - C++
Текст:&quot;Враг, что мудр и много знает, друга может быть ценней. Мудрость уважать пристало у врагов и у друзей.&quot;

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

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

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


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

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

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