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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Andreytana
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 8
#1

Комментарии к программе - C++

02.12.2009, 14:10. Просмотров 398. Ответов 1
Метки нет (Все метки)

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 <stdlib.h>
#include <stdio.h>
#include <string.h>
 
/* оболочка strcmp(const char*, const char*) для функции qsort */
int compareStrings(const void *a, const void *b){
        return strcmp(*(char**)a, *(char**)b);
}
        
/* указатель на следующее слово в строке, или 0, если слова кончились */
char *nextWord(char *str){
        char *p;
        for ( p = str; *p != '\0' && !isspace(*p) && !ispunct(*p); p++ )
                ;
        if ( *p == '\0' )
                return NULL;
        while ( isspace(*p) || ispunct(*p) )
                p++;
        return ( *p == '\0' ) ? NULL : p;
}
 
/* 
*       возвращает одно слово из строки str в буфере wrd. динна wrd = len - 1
*       в случае неудачи вернёт NULL
*/
char *getWord(const char *str, char *wrd, size_t len){
        char *p;
        char *w;
 
        for ( p = (char *)str, w = wrd;  *p != '\0' && !isspace(*p) && !ispunct(*p) && --len > 0; p++, w++ )
                *w = *p;
        *w = '\0';
 
        return wrd;
}
 
int main(){
        char buf[BUFSIZ];
        char wrd[BUFSIZ];
        char **arr, *pBuf;
        int count, i;
        size_t len;
        
        printf("Enter some string: ");
        fgets(buf, BUFSIZ, stdin);
        if ( strlen(buf) < 2 ) { /* в строке только \n */
                printf("Empty string not allowed\n");
                exit(1);
        }
        buf[strlen(buf) - 1] = '\0';
        /* подсчёт слов */
        for ( count = 0, pBuf = buf; pBuf != NULL; count++, pBuf = nextWord(pBuf) )
                ;
        if ( !count ) {
                printf("Empty string not allowed\n");
                exit(1);
        }
        
        /* массив указателей на слова */
        if ( (arr = (char **)calloc(count, sizeof(char*))) == NULL ){
                printf("Memory error\n");
                exit(1);
        }
        
        /* заполнение массива словами */
        for ( i = 0, pBuf = buf; i < count && pBuf != NULL; i++, pBuf = nextWord(pBuf) ){
                if ( getWord(pBuf, wrd, BUFSIZ) == NULL )
                        break; /* на всякий случай */
                len = strlen(wrd);
                if ( (arr[i] = (char *)malloc(len + 1)) == NULL ) {
                        printf("Not enough memory\n");
                        exit(1);
                }
                strcpy(arr[i], wrd);
        }
        
        /* сортировка массива */
        qsort((void*)arr, count, sizeof(char*), compareStrings);
        
        /* вывод */
        for ( i = 0; i < count; i++ )
                printf("%s\n", arr[i]);
        
        /* освобождение памяти */
        for ( i = 0; i < count; i++ ){
                free(arr[i]);
                arr[i] = NULL;
        }
        free(arr);
        arr = NULL;
        
        exit(0);


Нужнв коменты к этой программе, не могу понять как тут да что....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2009, 14:10     Комментарии к программе
Посмотрите здесь:

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

Комментарии к программе - C++
Здраствуйте. Напишите, пожалуйста, комментарии к строкам, где этих комментариев нет. У меня брат - бездарь. А сам я написать комментарии не...

комментарии к программе - C++
можно написать построчные комментарии к программе? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;iostream.h&gt;...

Комментарии к программе - C++
------------------------------------------------------------------------------------------------- Условие: Удалить из массива последний...

Комментарии к программе - C++
нужна помощь с комментариями, желательно к каждой строчке #include &lt;stdio.h&gt; /*Подключение библиотеки stdio.h*/ #include &lt;conio.h&gt;...

комментарии к программе - C++
помогите пожалуйста!!! нужно написать комментарии вот к этой программе (нужны к каждой строчке) и еще подскажите эта программа рабочая? ...

Комментарии к программе - C++
привет всем. помогите, пожалуйста, разобраться в работе программы. вот код #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;fstream&gt;...

Напишите комментарии к программе - C++
здесь программа считает кол-во одинаковых цифр и их значение, мне нужно подробное описание шагов. #include &quot;stdafx.h&quot; #include...

Нужны комментарии к программе - C++
Прошу помогите понять, что происходит в каждой строке этих двух программ? То есть помогите к каждой строке написать комментарии...

Нужны комментарии к программе - C++
Сама задача: &lt; символ &gt; : := &lt; буква &gt; | &lt; код &gt; | &lt; знак &gt; | &lt;разделитель&gt;| &lt; цифра &gt; &lt; знак &gt; : := v | -&gt; | + | * | ^ &lt;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
02.12.2009, 14:16     Комментарии к программе #2
С-- новый язык?) лол

C++
1
/* "много разных слов" */
"много разных слов" - это и есть коммент. в твоей проге описано все.
Ответ Создать тему
Опции темы

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