Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
1

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

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

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

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

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

Посчитать в тексте количество слов, в которых нет цифр
Посчитать в тексте количество слов, в которых нет цифр. С++

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

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

13
Genius Ignat
1241 / 779 / 108
Регистрация: 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
1241 / 779 / 108
Регистрация: 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
1241 / 779 / 108
Регистрация: 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
1241 / 779 / 108
Регистрация: 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
1241 / 779 / 108
Регистрация: 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
1241 / 779 / 108
Регистрация: 16.09.2009
Сообщений: 2,014
08.02.2010, 21:26 12
char str[100]; //это тоже можно, но макрос для удобства.
Так как, если ты поменяешь значение в макросе,
везде в программе где написано S_BUF будет подставлен нужный размер массива.
Макрос для удобства.
1
Nameless One
Эксперт С++
5786 / 3435 / 351
Регистрация: 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
1241 / 779 / 108
Регистрация: 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

Посчитать количество слов "что" в заданном тексте
Дано текст. Сколько в нём слов &quot;что&quot;.

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

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


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

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

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