Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ После каждого слова текста, заканчивающегося заданной подстрокой, вставить указанный символ https://www.cyberforum.ru/ cpp-beginners/ thread368783.html
После каждого слова текста, заканчивающегося заданной подстрокой, вставить указанный символ. помогите! :)
Рассортировать числа по частоте встречаемости, используя алгоритм обмена C++
Известно, что в массиве размерности N могут быть только целые числа из диапазона 1..31. Рассортировать эти числа по частоте встречаемости, используя алгоритм обмена.
C++ Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы. https://www.cyberforum.ru/ cpp-beginners/ thread368779.html
Две строки целочисленной матрицы назовём похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы, расположенных подряд. на с++ найти не смог. а с pascal перевести не могу, потому, что не знаю абсолютно с++! Помогите! :)
C++ Открытие txt файла для просмотра https://www.cyberforum.ru/ cpp-beginners/ thread368757.html
#include <stdio.h> int main() { FILE * fi; fi = fopen("test.txt","rt"); int n; while( !feof(fi) ) { fscanf( fi, "%d\n", &n ); printf("%d\n",n );
C++ Подскажите где скачать с++
Здравствуйте. Подскажите где скачать с++(не визуал и не билдер, для вин32)
C++ написать програму void(char source[] ,char dest[]) которая скопирует все символы из source[] ,которые не принадлежат алфавиту , в dest[]. написать програму void(char source ,char dest) которая скопирует все символы из source ,которые не принадлежат алфавиту , в dest.выводить только символы из dest https://www.cyberforum.ru/ cpp-beginners/ thread368734.html
C++ А с чего начинали вы? https://www.cyberforum.ru/ cpp-beginners/ thread368715.html
Перелазил много тем с книгами и их ОЧЕНЬ большое количество, многие уже очень старые. Пожалуйста посоветуйте какой нибудь материал для полного чайника в С++. ссылку плиз не на тему с книгами а именно на книгу! Буду очень благодарен! И пожалуйста не стебитесь. Все когда то начинали!!! Добавлено через 22 минуты Я конечно же могу скачать/купить книгу которой мне название больше всего...
C++ Дописать алгоритм Хаффмана
#pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h> #include <iomanip> #include <stdlib.h> #include <conio.h>
C++ Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, от xнач до xкон с шагом dx с точностью ε. Таблицу снабдить загаловком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. https://www.cyberforum.ru/ cpp-beginners/ thread368696.html C++ Простая прога с использованием union и классов https://www.cyberforum.ru/ cpp-beginners/ thread368673.html
В чем не правильный мод код. Хочу вывести имя, а выводит любой символ или мусор... #include <iostream> using namespace std; class Student { public: union { char name;
Взглянитe на код C++
Взглянит на код програми для вивода зн масива (с начала отрицательние потом положитльние в порядке их ввода) Листинг: #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv)
C++ Почему значение переменной char передаётся в другую переменную? https://www.cyberforum.ru/ cpp-beginners/ thread368649.html
/del. Пора спать уже, разобрался)))
Эксперт С++
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
22.10.2011, 11:00 0

Проверить правильность расстановки символов “/*” и “*/” для комментариев - C++ - Ответ 2092909

22.10.2011, 11:00. Показов 1169. Ответов 8
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
/////////////////////////////////////////////////////////////////////////////////////////
//Проверить правильность расстановки символов “/*” и “*/” для комментариев 
//во фрагменте программы на языке С++. 
/////////////////////////////////////////////////////////////////////////////////////////
#include <cctype>
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string         T_str;
typedef T_str::size_type    T_pos;
/////////////////////////////////////////////////////////////////////////////////////////
const char  SLASH           = '/';
const char  ASTERISK        = '*';
const char  BACKSLASH       = '\\';
const char  SINGLE_QUOTE    = '\'';
const char  DOUBLE_QUOTE    = '"';
/////////////////////////////////////////////////////////////////////////////////////////
enum  T_state
{
    TEXT_STATE,
    C_COMMENT_STATE,
    CPP_COMMENT_STATE,
    SYMB_LITERAL_STATE,
    STR_LITERAL_STATE,
    ERROR_STATE
};
/////////////////////////////////////////////////////////////////////////////////////////
void  TEXT_STATE_parse
    (
        const T_str&    s,
        int             symb_ind,
        int             str_ind,                        
        int&            C_comment_begin_symb_ind,                      
        int&            C_comment_begin_str_ind,                        
        T_state&        cur_state
    )
{
    switch( s[symb_ind] )
    {
    //Начало C-комментария.
    case ASTERISK:
        if(
                symb_ind            !=  0            
            &&  s[symb_ind - 1]     ==  SLASH 
          )
        {
            cur_state               = C_COMMENT_STATE;
            C_comment_begin_symb_ind  = symb_ind - 1;
            C_comment_begin_str_ind   = str_ind;            
        }
        break;
 
    //Конец C-комментария или начало C++-комментария.
    case SLASH:
        if(symb_ind != 0)
        {
            switch( s[symb_ind - 1] )
            {
            case  ASTERISK:
                cur_state = ERROR_STATE;
                break;
 
            case  SLASH:
                if( symb_ind != s.size() - 1 )
                {
                    cur_state = CPP_COMMENT_STATE;
                }
                break;
            }
        }
        break;
 
    case SINGLE_QUOTE:
        if( symb_ind == s.size() - 1 )
        {
            cur_state = ERROR_STATE;
        }
        else
        {
            cur_state = SYMB_LITERAL_STATE;
        }        
        break;
 
    case DOUBLE_QUOTE:
        if( symb_ind == s.size() - 1 )
        {
            cur_state = ERROR_STATE;
        }
        else
        {
            cur_state = STR_LITERAL_STATE;
        }              
        break;
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
void  C_COMMENT_STATE_parse
    (
        const T_str&    s,
        int             symb_ind,
        int             str_ind,                        
        int&            C_comment_begin_symb_ind,                      
        int&            C_comment_begin_str_ind,                        
        T_state&        cur_state
    )
{
    switch( s[symb_ind] )
    {
    case  SLASH:
        if(
                symb_ind            !=  0
            &&  s[symb_ind - 1]     ==  ASTERISK
            &&  (       
                        str_ind    !=   C_comment_begin_str_ind
                    ||  symb_ind - 1 - C_comment_begin_symb_ind > 1
                )
          )
        {
            cur_state = TEXT_STATE;
        }
        break;
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
void  CPP_COMMENT_STATE_parse
    (
        const T_str&    s,
        int             symb_ind,
        T_state&        cur_state
    )
{
    //Если это последний непробельный символ в строке, то.
    if( symb_ind == s.size() - 1 )
    {
        cur_state = TEXT_STATE;
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
void  SYMB_LITERAL_STATE_parse
    (
        const T_str&    s,
        int             symb_ind,
        T_state&        cur_state
    )
{
    switch( s[symb_ind] )
    {
    case  SINGLE_QUOTE:
        if( s[symb_ind - 1] != BACKSLASH )
        {
            cur_state = TEXT_STATE;
        }
        break;
 
    default:
        //Если это последний непробельный символ в строке, то.
        if( symb_ind == s.size() - 1 )
        {
            cur_state = ERROR_STATE;
        }
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
void  STR_LITERAL_STATE_parse
    (
        const T_str&    s,
        int             symb_ind,
        T_state&        cur_state
    )
{
    switch( s[symb_ind] )
    {
    case  DOUBLE_QUOTE:
        if( 
                symb_ind            == 0
            ||  s[symb_ind - 1]     != BACKSLASH 
          )
        {
            cur_state = TEXT_STATE;
        }
        break;
 
    default:
        //Если это последний непробельный символ в строке и это не обратный слэш, то.
        if(
                symb_ind        ==  s.size() - 1               
            &&  s[symb_ind]     !=  BACKSLASH
          )
        {
            cur_state = ERROR_STATE;
        }
        break;
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
bool  C_comments_in_CPP_text_are_correct
    (
        const T_str&    ifilename,
        bool&           file_is_open
    )
{
    std::ifstream   ifile( ifilename.c_str() );
    file_is_open = ifile != 0;
    if( !file_is_open )
    {
        return  false;
    }
 
    T_str       s;             
    
    T_state     cur_state                   = TEXT_STATE;
    int         str_ind                     = 0; 
 
    int         C_comment_begin_symb_ind    = 0;
    int         C_comment_begin_str_ind     = 0;   
 
    //Обрабатываем строки файла.
    while( getline(ifile, s) )
    {  
        ++str_ind;
 
        while( 
                    !s.empty()
                &&  isspace( *s.rbegin() ) 
             )
        {
            s.erase( s.size() - 1 );
        }        
        
        for(size_t  symb_ind = 0; symb_ind < s.size(); ++symb_ind)
        {               
            switch(cur_state)
            {
            case  TEXT_STATE:
                TEXT_STATE_parse
                    (
                        s,
                        symb_ind,
                        str_ind,                        
                        C_comment_begin_symb_ind,                      
                        C_comment_begin_str_ind,                        
                        cur_state
                    );
                break;
 
            case  C_COMMENT_STATE:
                C_COMMENT_STATE_parse
                    (
                        s,
                        symb_ind,
                        str_ind,
                        C_comment_begin_symb_ind,                      
                        C_comment_begin_str_ind,                        
                        cur_state
                    );
                break;
 
            case  CPP_COMMENT_STATE:
                CPP_COMMENT_STATE_parse
                    (
                        s,
                        symb_ind,
                        cur_state
                    );
                break;
 
            case  SYMB_LITERAL_STATE:
                SYMB_LITERAL_STATE_parse
                    (
                        s,                        
                        symb_ind,
                        cur_state
                    );
                break;
 
            case  STR_LITERAL_STATE:
                STR_LITERAL_STATE_parse
                    (
                        s,
                        symb_ind,
                        cur_state
                    );
                break;
 
            case  ERROR_STATE:
                return  false;
            }//switch            
        }//for
    }//while
    return  cur_state == TEXT_STATE;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{    
    std::locale::global(std::locale(""));
    T_str   ifilename       =   "f.txt";
    bool    file_is_open    =   false; 
    bool    bool_res        =   C_comments_in_CPP_text_are_correct
                                    (
                                        ifilename,
                                        file_is_open
                                    );
 
    if( !file_is_open )
    {
        std::cout << "Невозможно открыть файл \""
                  << ifilename
                  << "\"."
                  << std::endl;    
    }
    else
    {
        std::cout << "В файле "
                  << ifilename
                  << " C-комментарии во фрагменте программы на C++"
                  << (bool_res ? "" : " НЕ")
                  << " корректны."
                  << std::endl;
    }    
}


Вернуться к обсуждению:
Проверить правильность расстановки символов “/*” и “*/” для комментариев C++
3
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2011, 11:00
Готовые ответы и решения:

Проверить правильность расстановки скобок в строке символов
Доброе время суток, помогите пожалуйста написать программу, за ранее большое спасибо. Строка...

Дана строка символов проверить правильность расстановки круглых и квадратных скобок в выражениях
дана строка символов проверить правильность расстановки круглых и квадратных скобок в выражениях

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

Проверить правильность расстановки скобок
Помогите написать программу на c++. Дана строка, содержащая латинские буквы и скобки трех видов:...

8
22.10.2011, 11:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2011, 11:00
Помогаю со студенческими работами здесь

Проверить правильность расстановки скобок.
Дана строка символов, содержащая круглые скобки.Проверить правильность расстановки скобок.

Проверить правильность расстановки скобок
Не знаю в чем ошибка, программа не работает. Подскажите пожалуйста)) /* Проверить правильность...

Проверить на правильность расстановки скобок
Дана строка. Проверить правильность расстановки скобок в строке (для каждой открывающей есть...

Проверить правильность расстановки скобок
Дано арифметическое выражение, содержащее три вида скобок &quot;(&quot;,&quot;[&quot;,&quot;{&quot;. Проверить правильность...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru