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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Составит матрицу http://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-ввод массива целых чисел'); http://www.cyberforum.ru/cpp-beginners/thread120607.html
некорректный вывод результата C++
Суть программы: Пользователь вводит число (например 4), программа печатаем квадрат со сторонами соответственно 4*4 в виде * (звездочек). Теперь проблема: квадрат то выводит, а вот в конце еще символ лишний, которой там вообще не нужен. Может напутал что-то с типами переменных. Программу реализовать с помощью функции. (это сделано =)) #include<iostream.h> #include<conio.h> char side(int); ...
C++ Вывод текста на экран во время ожидания нажатия клавиши.
Языс C, компилятор Borland C++ 3.1 for DOS. Прошу помочь и ответить на мой вопрос. Я пишу игру, управление в игре стрелками на клавиатуре - я это реализвал через функцию getc() - и там уже узнаю какая именно стрелка была нажата по её коду. Возникла такая проблема, когда функция getc() в ожидании - выполние кода приостанавливается. А мне необходимо сделать, чтобы на экране постоянно...
C++ Сортировка структуры http://www.cyberforum.ru/cpp-beginners/thread120592.html
Такая задача уже неоднократно была описана на вашем форуме но сортировки негде несмог найти: Написать функцию, которая читает данные о ноутбуках из файла note.txt (см. Задача 40) в структуру приведенного вида. Написать функцию, которая записывает содержимое структуры в конец бинарного файла. Структура бинарного файла: первые два байта (целое) число записей в файле; далее записи в формате...
C++ Найти произведение всех целых чисел в диапазоне от А до Б включительно Помогите кто-нибудь пожалуйста я полный ноль в программировании... Нужно написать две простенькие програмки на С++. 1) Вводятся с клавиатуры координаты диагонали прямоугольника (типа "1 3 4 9"). Нужно найти площадь прямоугольника. Стороны параллельны осям координат. 2) С клавиатуры вводятся два целых числа А и Б (А<Б). Нужно найти произведение всех целых чисел от А до Б включительно. ... подробнее

Показать сообщение отдельно
koc94ok
9 / 9 / 1
Регистрация: 22.04.2010
Сообщений: 473
23.04.2010, 19:52  [ТС]     Посчитать, сколько слов содержит текст произвольной длины.
Цитата Сообщение от 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);
}
можно результат с любым текстом прогнать, а то у меня компила щас нету&
 
Текущее время: 00:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru