Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Нужны комментарии к программе - C++

30.03.2017, 17:33. Просмотров 168. Ответов 6
Метки нет (Все метки)

Сама задача:
< символ > : := < буква > | < код > | < знак > | <разделитель>| < цифра >
< знак > : := v | -> | + | * | ^
< разделитель > : := ; | : | | =
< код > - последовательность из 8 нулей и единиц
< переменная > : := < иден > | < код >
< оператор > : := < иден > := < переменная > | < иден> := < переменная> < знак > < переменная >

Выполнение оператора : вычислить код по правой части (справа от := ) и присвоить его идентификатору левой части. Вычисление кода производится взятием поразрядной операции над двумя кодами (либо простым присваиванием без вычисления). Операции обозначены: “v” - дизъюнкция, “^”- конъюнкция, “+”- сложение по модулю 2, “->”- импликация, “*” - операция Шеффера (1*1 = 0 и a * b = 1, если a или b равно 0).
Пример языковой программы:
A1 := 11001010; Б18 := 01011111; X := A1 * Б18; Y := Б18 - A1;
A1 := X + 11110011;
Дополнительные правила:
з) длина кода равна 8 знакам 0 и 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
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
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
    ifstream f("posl.txt");
    bool r;
    char x;
    int q=1, m=0, k=0, zn=0;
    r=true;
    while ((f.peek()!=EOF)&&r)
    {
        f>>x;
        switch (q)
        {
 
        case 1:
            if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z')))
                {
                    q=2;
                    m=1;
                }
            else r=false;
            break;
 
 
        case 2:
            if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z'))||((x>='0')&&(x<='9')))
                {
                    q=2;
                    m++;
                }
            else
                if ((x==':')&&(m<3))
                {
                    q=3;
                    zn=0;
                }
                else r=false;
                break;
 
 
        case 3:
            if (x=='=') q=4;
            else r=false;
            break;
 
 
        case 4:
                if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z')))
                {
                    q=5;
                    m=1;
                }
                else
                    if ((x=='0')||(x=='1'))
                    {
                        q=6;
                        k=1;
                    }
                    else r=false;
                break;
 
 
        case 5:
            if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z'))||((x>='0')&&(x<='9')))
            {
                q=5;
                m++;
            }
            else
                if (m<3)
                {
                    switch (x)
                    {
                            case '+':
                                {
                                    q=4;
                                    zn++;
                                }
                                break;
                    case '-':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '*':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case 'v':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '^':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case ';':
                        if ((zn==0)||(zn==1)) q=1;
                        else r=false;
                        break;
                    default: r=false;
                    }
                }
                else r=false;
                break;
 
 
        case 6:
            if ((x=='0')||(x=='1'))
            {
                q=6;
                k++;
            }
            else
                if (k==8)
                {
                    switch (x)
                    {
                    case '+':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '-':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '*':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case 'v':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '^':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case ';':
                        if ((zn==0)||(zn==1)) q=1;
                        else r=false;
                        break;
                        default: r=false;
                    }
                }
                else r=false;
                break;
        default: r=false;
        }
    }
    if ((q==1)&&r) cout<<"true\n";
    else cout<<"NO!!!\n";
    cout<<"q="<<q<<endl;
    cout<<"r="<<r<<endl;
    cout<<"x="<<x<<endl;
    cout<<"m="<<m<<endl;
    cout<<"zn="<<zn<<endl;
    cout<<"k= "<<k<<endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2017, 17:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нужны комментарии к программе (C++):

Нужны комментарии к программе - C++
вот два кода программ, нужны комментарии к коду и алгоритм программы: 1)Дана действительная матрица 6x9 MxN.Найти значения...

Нужны комментарии к программе - C++
нужны Коментарии к программе нужно узнать что делает каждая функция #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; ...

Нужны комментарии к программе - C++
#include &lt;cmath&gt; #include &lt;iomanip&gt; #include &lt;iostream&gt; using namespace std; int fact(int i) { if (i==0) return...

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

Нужны блок схема и комментарии к программе - C++
помогите да кто сможет написать блок схему к данной программе......и комент. к некоторым строкам#include&lt;iostream.h&gt; #include&lt;stdio.h&gt; ...

Азбука Морзе, нужны комментарии к программе - C++
Доброго времени суток нашел хороший код на с++ по переводу сообщения в азбуку морзе и обратно. Но к сожалению не понимаю как он меняет...

6
likehood
930 / 789 / 273
Регистрация: 25.12.2016
Сообщений: 2,627
Завершенные тесты: 3
30.03.2017, 18:03 #2
Цитата Сообщение от Dark_Grizzly Посмотреть сообщение
Код который нужно закоментировать:
Не вопрос!
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
/*
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
    ifstream f("posl.txt");
    bool r;
    char x;
    int q=1, m=0, k=0, zn=0;
    r=true;
    while ((f.peek()!=EOF)&&r)
    {
        f>>x;
        switch (q)
        {
 
        case 1:
            if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z')))
                {
                    q=2;
                    m=1;
                }
            else r=false;
            break;
 
 
        case 2:
            if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z'))||((x>='0')&&(x<='9')))
                {
                    q=2;
                    m++;
                }
            else
                if ((x==':')&&(m<3))
                {
                    q=3;
                    zn=0;
                }
                else r=false;
                break;
 
 
        case 3:
            if (x=='=') q=4;
            else r=false;
            break;
 
 
        case 4:
                if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z')))
                {
                    q=5;
                    m=1;
                }
                else
                    if ((x=='0')||(x=='1'))
                    {
                        q=6;
                        k=1;
                    }
                    else r=false;
                break;
 
 
        case 5:
            if (((x>='A')&&(x<='Z'))||((x>='a')&&(x<='z'))||((x>='0')&&(x<='9')))
            {
                q=5;
                m++;
            }
            else
                if (m<3)
                {
                    switch (x)
                    {
                            case '+':
                                {
                                    q=4;
                                    zn++;
                                }
                                break;
                    case '-':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '*':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case 'v':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '^':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case ';':
                        if ((zn==0)||(zn==1)) q=1;
                        else r=false;
                        break;
                    default: r=false;
                    }
                }
                else r=false;
                break;
 
 
        case 6:
            if ((x=='0')||(x=='1'))
            {
                q=6;
                k++;
            }
            else
                if (k==8)
                {
                    switch (x)
                    {
                    case '+':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '-':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '*':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case 'v':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case '^':
                        {
                            q=4;
                            zn++;
                        }
                        break;
                    case ';':
                        if ((zn==0)||(zn==1)) q=1;
                        else r=false;
                        break;
                        default: r=false;
                    }
                }
                else r=false;
                break;
        default: r=false;
        }
    }
    if ((q==1)&&r) cout<<"true\n";
    else cout<<"NO!!!\n";
    cout<<"q="<<q<<endl;
    cout<<"r="<<r<<endl;
    cout<<"x="<<x<<endl;
    cout<<"m="<<m<<endl;
    cout<<"zn="<<zn<<endl;
    cout<<"k= "<<k<<endl;
}
*/
2
Dark_Grizzly
0 / 0 / 0
Регистрация: 14.03.2017
Сообщений: 5
30.03.2017, 18:35  [ТС] #3
мне нужно писать комментарии напротив строк с описание что эти строки кода делают
0
liv
375 / 342 / 114
Регистрация: 07.10.2015
Сообщений: 1,281
Завершенные тесты: 1
30.03.2017, 19:01 #4
Dark_Grizzly, ну какие проблемы?
Или так, или так:
C++
1
2
    ifstream f("posl.txt");   //файлстрим
    bool r;  /*  булева переменная */
0
DevAlone
322 / 274 / 55
Регистрация: 02.08.2016
Сообщений: 1,008
Завершенные тесты: 4
30.03.2017, 19:10 #5
абсолютно бесполезные комментарии, хотя ТСу, когда он будет сдавать программу преподу, как свою, помогут, он будет их с умным видом зачитывать, как будто знает
0
Dark_Grizzly
0 / 0 / 0
Регистрация: 14.03.2017
Сообщений: 5
30.03.2017, 19:44  [ТС] #6
мне в основном нужно объяснить что за интовские переменные и что они в конце выводят
0
liv
375 / 342 / 114
Регистрация: 07.10.2015
Сообщений: 1,281
Завершенные тесты: 1
31.03.2017, 11:00 #7
Dark_Grizzly, идет разбор файла posl.txt, а Вы даже не додумались его приложить...
Мы должны догадываться, да?
0
31.03.2017, 11:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2017, 11:00
Привет! Вот еще темы с ответами:

Нужны комментарии к программе (работа со строками) - C++
Прокомментировать код пожалуйста. Вот задание : Для произвольного текста (Взятого из файла), содержащего не более 10 строк, в каждой строке...

Класс "Стек", нужны комментарии к программе - C++
Есть программа. Это класс стек. И мне нужно разобрать ее полностью: что за что отвечает и как это называется, почему оно здесь и с чем...

Нужны комментарии к коду - C++
pair&lt;bool, array&lt;int, 81&gt;&gt; SOL(const char* inp) { array&lt;int, 81&gt; ANS; int* TAB = ANS.data(); int emp; int c = 0; int i, j,...

Нужны комментарии к коду - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; //ЗАДАЧА #14 void print_array(int *a, int n) { for (int...


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

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

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