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

Подсчитать количество слов в тексте - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 67, средняя оценка - 4.66
Boxing Boy
Сообщений: n/a
09.12.2009, 09:52     Подсчитать количество слов в тексте #1
помогите пожалуйста составить программу на С:
Дан текст произвольной длины, оканчивающийся точкой. Текст состоит из слов разделенных пробелами. Подсчитать количество слов в тексте.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2009, 09:52     Подсчитать количество слов в тексте
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ThisIsMyName
8 / 8 / 0
Регистрация: 17.11.2009
Сообщений: 36
09.12.2009, 10:38     Подсчитать количество слов в тексте #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{  char string[]=" ";
int s,i,l;
printf("vvedite stroky:");
gets(string);
s=strlen(string);
l=1;
for (i=0;i<s;i++)
{
  if (string[i]==' ')
  l=l+1;
}
printf("koli4estvo slov v stroke:%d\n", l);
            return 0;
}
попробуй это...
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.12.2009, 13:04     Подсчитать количество слов в тексте #3
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>
 
enum { OUT, IN };
 
int main(void)
{
    int c, nw, state;
    
    state = OUT;
    nw = 0;
    printf("Введите текст: ");
    while( (c = getchar()) != '\n')
        if(c == ' ' || c == '.' || c == '\t') {
            state = OUT;
        } else if(state == OUT) {
            state = IN;
            nw++;
        }
    printf("В тексте %d слов.\n", nw);
    return 0;
}
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
27.12.2009, 00:34     Подсчитать количество слов в тексте #4
Подскажите а как подсчитать количество определенного слова в тексте, а не просто количество всех слов. не сильно меняя код?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9382 / 5432 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
27.12.2009, 01:18     Подсчитать количество слов в тексте #5
И слова считает, и сколько раз одно какое-то встретилось...
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
#include <stdio.h>
#include <string.h>
#include <windows.h>
    
#define STRLEN 255
    
int main(void){
    char str[STRLEN], wrd[STRLEN], *p;
    size_t count_all, count_word;
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    printf("Строка: ");
    fgets(str, sizeof(str), stdin);
    if ( p = strrchr(str, '\n') )
        *p = '\0';
    printf("Слово: ");
    fgets(wrd, sizeof(wrd), stdin);
    if ( p = strrchr(wrd, '\n') )
        *p = '\0';
    
    count_all = count_word = 0;
    for ( p = strtok(str, " "); p != NULL; p = strtok(NULL, " ") ){
        ++count_all;
        if ( !strcmp(p, wrd) )
            ++count_word;
    }
    printf("Всего слов: %d\n", count_all);
    printf("Слово \"%s\" встретилось %d раз(а)\n", wrd, count_word);
    
    return 0;
}
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
27.12.2009, 11:08     Подсчитать количество слов в тексте #6
Большое спасибо. Подскажите, а зачем указываются * перед переменными?

Добавлено через 1 час 30 минут
Нашел еще один код по поиску, но выдает ошибку.
Не подскажите в чем ошибка кода?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#define MAXLINE 1000
int getline(char *line, int max);
main(int argc, char *argv[])
{
char line[MAXLINE];
int found = 0;
if (argc != 2)
printf("Usage: find pattern\n");
else
while (getline(line, MAXLINE)>0)
if (strstr(line, argv[1]) !=NULL) {
printf("%s", line);
found++;
}
return found;
}
Yandex
Объявления
27.12.2009, 11:08     Подсчитать количество слов в тексте
Ответ Создать тему
Опции темы

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