Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составит матрицу https://www.cyberforum.ru/ cpp-beginners/ thread120609.html
Дано матрица а и b надо умножит их чтобы найти с матрицу
с паскаля на Си++ C++
uses crt; var a:array of integer; i,n,max,min:integer; c:char; begin ClrScr; repeat writeln('Выберите действие:'); {меню} writeln('1-ввод массива целых чисел');
некорректный вывод результата C++
Суть программы: Пользователь вводит число (например 4), программа печатаем квадрат со сторонами соответственно 4*4 в виде * (звездочек). Теперь проблема: квадрат то выводит, а вот в конце еще символ...
C++ Вывод текста на экран во время ожидания нажатия клавиши. Языс C, компилятор Borland C++ 3.1 for DOS. Прошу помочь и ответить на мой вопрос. Я пишу игру, управление в игре стрелками на клавиатуре - я это реализвал через функцию getc() - и там уже узнаю... https://www.cyberforum.ru/ cpp-beginners/ thread120600.html
C++ Сортировка структуры https://www.cyberforum.ru/ cpp-beginners/ thread120592.html
Такая задача уже неоднократно была описана на вашем форуме но сортировки негде несмог найти: Написать функцию, которая читает данные о ноутбуках из файла note.txt (см. Задача 40) в структуру...
C++ Найти произведение всех целых чисел в диапазоне от А до Б включительно
Помогите кто-нибудь пожалуйста я полный ноль в программировании... Нужно написать две простенькие програмки на С++. 1) Вводятся с клавиатуры координаты диагонали прямоугольника (типа "1 3 4 9")....
Консольное приложение начисления отпускных. C++
Здравствуйте, пишу первый раз на данном форуме. Ищу помощь,в виде кода и коментариев к этой задачи. Программное обеспечение для начисления отпускных. Указание: При расчете суммы отпускных берутся...
C++ Связный список Посчитать сколько слов, содержит текст поисзвольной длины. Разделителем между словами является символ пробела. Вывести на экран список всех встречающихся в тексте слов и их количество. Указание:... https://www.cyberforum.ru/ cpp-beginners/ thread120559.html
C++ Структура https://www.cyberforum.ru/ cpp-beginners/ thread120546.html
Информация о хранящихся на складе товарах состоит из: 1) инвентаризационного номера; 2) наименование товара; 3) количество в штуках; 4) цены; 5) даты поставки. Напишите структуру, описывающую...
C++ двойной указателем на указатель на вектор (C++) Доброго времени суток. Столкнулся со следующей проблемой Код: //файл matrix.h #include <iostream> #include <cstdlib> #include <vector> #include <fstream> https://www.cyberforum.ru/ cpp-beginners/ thread120544.html
12 / 12 / 2
Регистрация: 22.04.2010
Сообщений: 584
23.04.2010, 19:52  [ТС] 0

Посчитать, сколько слов содержит текст произвольной длины.

23.04.2010, 19:52. Просмотров 3528. Ответов 11
Метки (Все метки)

Ответ

Цитата Сообщение от easybudda Посмотреть сообщение
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef struct WRD {
    char *buf;
    size_t cnt;
    struct WRD *next;
} wrd_t;
 
wrd_t *newWrd(const char *s, wrd_t *last){
    wrd_t *nw;
    if ( ( nw = (wrd_t*)malloc(sizeof(wrd_t)) ) == NULL )
        return NULL;
    if ( ( nw->buf = strdup(s) ) == NULL ){
        free(nw);
        return NULL;
    }
    nw->cnt = 1;
    nw->next = NULL;
    if ( last )
        last->next = nw;
    return nw;
}
 
void clrWrd(wrd_t *w){
    wrd_t *t;
    while ( w ){
        t = w->next;
        free(w->buf);
        free(w);
        w = t;
    }
}
 
wrd_t *findWrd(const wrd_t *w, const char *s){
    if ( !w || !s )
        return NULL;
    while ( w ){
        if ( !strcmp(w->buf, s) )
            break;
        w = w->next;
    }
    return (wrd_t*)w;
}
 
void prnWrd(const wrd_t *w){
    printf("------------------------------\n");
    printf("Word                Count\n");
    printf("------------------------------\n");
    while ( w ){
        printf("%-20s%d\n", w->buf, w->cnt);
        w = w->next;
    }
    printf("------------------------------\n");
}
 
int main(void){
    char buf[BUFSIZ], *p;
    wrd_t *first, *last, *found;
    size_t cnt;
 
    printf("String: ");
    if ( !fgets(buf, BUFSIZ, stdin) || *buf == '\n' )
        exit(1);
 
    first = last = NULL;
    cnt = 0;
    for ( p = strtok(buf, " \t\n"); p; p = strtok(NULL, " \t\n") ){
        ++cnt;
        if ( found = findWrd(first, p) ){
            found->cnt += 1;
            continue;
        }
        if ( ( last = newWrd(p, last) ) == NULL ){
            fprintf(stderr, "Can't create a new word!\n");
            exit(1);
        }
        if ( !first )
            first = last;
    }
    if ( !first ){
        fprintf(stderr, "No words reached!\n");
        exit(1);
    }
    printf("Words counted:\n");
    prnWrd(first);
    printf("TOTAL: %d words\n", cnt);
 
    clrWrd(first);
    exit(0);
}
можно результат с любым текстом прогнать, а то у меня компила щас нету&

Вернуться к обсуждению:
Посчитать, сколько слов содержит текст произвольной длины.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2010, 19:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

3. Ввести строку произвольной длины. Сосчитать количество слов в ней.
3. Ввести строку произвольной длины. Сосчитать количество слов в ней.

Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов.
Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов. Не понимаю как...

Дан текст произвольной длины, оканчивающийся точкой с запятой. Подсчитать количество цифр в тексте
1Дан текст произвольной длины, оканчивающийся точкой с запятой. Подсчитать количество цифр в...

Посчитать сколько двоичных единиц содержит каждое число
Дан цифровой массив , посчитать сколько двоичных единиц содержит каждое число

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