Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
koc94ok
10 / 10 / 2
Регистрация: 22.04.2010
Сообщений: 538
1

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

22.04.2010, 20:48. Просмотров 3310. Ответов 11
Метки нет (Все метки)

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

Посчитать, сколько слов содержит строкв
нужно написать программу на С: дана строка символов до точки....

Посчитать количество слов в указанном предложении и определить, содержит ли заданный текст Вашу фамилию
Дан текст. Посчитать количество слов в предложении. Содержит данный текст вашу...

Текст состоит из слов разной длины. Определить, сколько раз в тексте встречается заданное слово
Чего оно ругается или я вообще дичь сделал? #include <string.h> #include...

Посчитать количество единиц и нулей в бинарном файле произвольной длины
Открыть файл в бинарном виде и посчитать количество единиц и нулей.

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

11
lex1990able
2 / 2 / 1
Регистрация: 22.04.2010
Сообщений: 37
22.04.2010, 21:16 2
да это же моя лаба за первый курс
если тебе повезёт - то найду код
0
koc94ok
10 / 10 / 2
Регистрация: 22.04.2010
Сообщений: 538
23.04.2010, 15:52  [ТС] 3
Цитата Сообщение от lex1990able Посмотреть сообщение
да это же моя лаба за первый курс
если тебе повезёт - то найду код
нашел?
0
delfamur
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
23.04.2010, 16:20 4
считывай вводимый код в строку чар и там считай количество не подряд идущих пробелов. +1 и это твой ответ
0
koc94ok
10 / 10 / 2
Регистрация: 22.04.2010
Сообщений: 538
23.04.2010, 16:32  [ТС] 5
Цитата Сообщение от delfamur Посмотреть сообщение
считывай вводимый код в строку чар и там считай количество не подряд идущих пробелов. +1 и это твой ответ
это уже можно сказать сделал но как видиш требуется не только это
0
easybudda
Модератор
Эксперт CЭксперт С++
10147 / 6054 / 1521
Регистрация: 25.07.2009
Сообщений: 11,476
23.04.2010, 17:37 6
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);
}
1
koc94ok
10 / 10 / 2
Регистрация: 22.04.2010
Сообщений: 538
23.04.2010, 19:52  [ТС] 7
Цитата Сообщение от 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
easybudda
Модератор
Эксперт CЭксперт С++
10147 / 6054 / 1521
Регистрация: 25.07.2009
Сообщений: 11,476
23.04.2010, 20:01 8
Цитата Сообщение от koc94ok Посмотреть сообщение
можно результат с любым текстом прогнать, а то у меня компила щас нету
ага
Посчитать, сколько слов содержит текст произвольной длины.
1
koc94ok
10 / 10 / 2
Регистрация: 22.04.2010
Сообщений: 538
23.04.2010, 20:12  [ТС] 9
Цитата Сообщение от easybudda Посмотреть сообщение
Огромное спс , а блок схему этого чуда ктонибудь может сделать? хотяб в паинте накалякать
0
easybudda
23.04.2010, 20:27
  #10

Не по теме:

Цитата Сообщение от koc94ok Посмотреть сообщение
а блок схему этого чуда ктонибудь может сделать?
Мёдом не намазать? :D

0
koc94ok
10 / 10 / 2
Регистрация: 22.04.2010
Сообщений: 538
23.04.2010, 20:35  [ТС] 11
Цитата Сообщение от easybudda Посмотреть сообщение

Не по теме:


Мёдом не намазать? :D

хорошо бы, просто самому дольше разбираться
0
koc94ok
10 / 10 / 2
Регистрация: 22.04.2010
Сообщений: 538
24.04.2010, 23:02  [ТС] 12
а за wmz ? никто нехочет?
0
24.04.2010, 23:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2010, 23:02

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

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

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


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

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

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