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

Подсчёт слов в строке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение с файла http://www.cyberforum.ru/cpp-beginners/thread258699.html
Например у меня есть файл со следующим текстом: 4 0 (1) 1 1 (2) 0 2 2 (3) 1 3 4 3 (1) 2 Длина строки может быть разная. В первой строке - всегда 1 символ, его я запишу через: ifstream fin("input.txt"); fin>>a;
C++ Почему компилятор ругается? #include<iostream> #include<stdio.h> #include<conio.h> using namespace std; FILE*fp; struct Computer { char type; http://www.cyberforum.ru/cpp-beginners/thread258669.html
Контейнерные классы C++. C++
Здраствуйте:)Поскажите пожалуйста по нижеприведенному коду, сама не могу разобраться, хотя смотрела в учебниках и по инету не могу найти информацию:( Я выделила красным и синим нужные строки. 1)Зачем нужен class T,выделенный синим? 2)Что означают строки выделенные красным, конструктор что ли, непонятно. Подскажите pls...
C++ Описать структуру Student
#include <iostream> #include <fstream> #include<limits> #define DIM 10 #define NAME 70 using namespace std; struct Application {
C++ Определить, попадает ли точка в круг. http://www.cyberforum.ru/cpp-beginners/thread258633.html
Определить попадает ли точка с координатами х,у в круг радиуса r с центром в начале координат. Вывести признак N=1, если точка находится внутри круга, и признак N=0, если точка находится вне круга. Помогите пожалуйста
C++ Работа с функциями..! Треугольник ABC задано координатами своих вершин на плоскости. Найти внутренние углы треугольника (в радианах). C++ подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
17.03.2011, 01:12     Подсчёт слов в строке
Цитата Сообщение от OverClocker Посмотреть сообщение
на языке Borland C под DOS'ом
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
    
typedef struct WRD {
    char * text;
    int count;
    struct WRD * next;
} wrd_t;
 
wrd_t * new_word(const char * s){
    wrd_t * ret;
    
    if ( ( ret = (wrd_t*)malloc(sizeof(wrd_t)) ) == NULL )
        return NULL;
    if ( ( ret->text = strdup(s) ) == NULL ){
        free(ret);
        return NULL;
    }
    ret->count = 1;
    ret->next = NULL;
    
    return ret;
}
 
wrd_t * del_word(wrd_t * w){
    wrd_t * ret;
    
    if ( ! w )
        return NULL;
    ret = w->next;
    free(w->text);
    free(w);
    
    return ret;
}
 
#define DELIM " \t\n,.!?:;"
 
int main(void){
    wrd_t * first, * last, * current;
    char buf[BUFSIZ], * p;
    
    while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){
        first = NULL;
        for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ){
            for ( current = first; current; current = current->next ){
                if ( ! strcmp(p, current->text) ){
                    current->count += 1;
                    break;
                }
            }
            if ( current )
                continue;
            if ( ( current = new_word(p) ) == NULL ){
                fprintf(stderr, "Memory error!\n");
                exit(1);
            }
            if ( ! first )
                first = current;
            else
                last->next = current;
            last = current;
        }
        
        if ( ! first ){
            fprintf(stderr, "Empty string!\n");
            continue;
        }
        
        printf("%-30s%s\n----------------------------------------\n", "word", "count");
        for ( current = first; current; current = current->next )
            printf("%-30s%d\n", current->text, current->count);
        printf("----------------------------------------\n\n");
        
        while ( first = del_word(first) )
            ;
    }
    
    return 0;
}
Подсчёт слов в строке
 
Текущее время: 00:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru