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

Разработка двоичного калькулятора (небольшие недочеты) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать шаблон класса “стек” http://www.cyberforum.ru/cpp-beginners/thread1157698.html
Помогите сделать вот такую программу, пожалуйста. Разработать шаблон класса “стек” (реализация через список). Тип элементов стека задается как параметр шаблона. Написать тестовую программу.
C++ Все возможные тройки из 10 фамилий без повторов Вообщем то в задачке нужно составить все возможные тройки из 10 фамилий. Проблема в том, что я не знаю как исключить повторы. Вот код: #include <iostream> #include <conio.h> #include <cstring> #include <string> using namespace std; int main() { setlocale(LC_ALL, "Russian"); http://www.cyberforum.ru/cpp-beginners/thread1157692.html
C++ Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе
Выполнить задания с использованием подходящих связанных динамических структур данных: Есть программа на С++. Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе, указав количество появлений для каждого идентификатора и номера строк программы, в которых они встречаются. Помогите придумать алгоритм решения задачи
Вывести на экран большее из двух чисел, введённых пользователем C++
вот мой код, но почему-то всё наоборот, помогите разобраться #include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; int q,w;
C++ Сортировка методом пузырька http://www.cyberforum.ru/cpp-beginners/thread1157680.html
пытаюсь отсортировать массив из 10000 элементов по возрастанию методом пузырька,числа рандомно заполняются.Ничего не выходит.Быть может это и есть косяк данного метода? Добавлено через 1 минуту А нет,ложная тревога.Нашел косячок в коде. Добавлено через 53 секунды И жизнь стала лучше...
C++ Массив в классе Здравствуйте!Помогите разобраться.Создаю динамический массив в конструктуре класса,но в отладчике на протяжении работы программы отображается,будто он хранит один элемент(даже непроиндексованный).Делал это ,ибо пытался решить задачу:программист не знает сколько введёт элементов в стек пользователь.Я думал создать массив размерностью 1 и потом создать функцию,которая при каждом вызове функции... подробнее

Показать сообщение отдельно
dmitriu098
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 17
26.04.2014, 02:59     Разработка двоичного калькулятора (небольшие недочеты)
Добрый вечер форумчане! Прошу помощи в описании некоторой части кода. Исходное задание: Необходимо создать двоичный калькулятор, выполняющий ("+","-", "*", "/"). Калькулятор в рабочем состоянии. (в поля вводим изначальные значения (в двоичном виде)
C++ (Qt)
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
int dvh1();
int dvh02();
int dvh2(int d);
 
int main(int argc, char** argv) {
int elem1, elem2;
int c, d, dd, a, b;
while (c != 0)
{
cout<<"Dobro pogalovat!\n";
cout<<"1 - Slogenie\n";
cout<<"2 - Vichetanie\n";
cout<<"3 - Delenie\n";
cout<<"4 - Ymnogenie\n";
cout<<"0 - Vihod\n";
cin >> c;
switch (c)//выбор действия
{
case 1://сложение
{
elem1 = dvh1();
elem2 = dvh02();
d=elem1+elem2 ;
dvh2(d);
cout << endl;
}
break;
case 2://вычитание
{
elem1 = dvh1();
elem2 = dvh02();
d=elem1-elem2;
dvh2(d);
cout << endl;
}
break;
case 3://деление
{
elem1 = dvh1();
elem2 = dvh02();
d=elem1/elem2;
dvh2(d);
cout << endl;
}
break;
case 4://умножение
{
elem1 = dvh1();
elem2 = dvh02();
 
d=elem1*elem2;
dvh2(d);
cout << endl;
}
break;
}
}
return 0;
}
int dvh1()//описание первого двоичного числа
{
int y=0, a=0,i,count=0,j,as,sa;
char str[50];//максимальная разрядность числа
cout<<"Vvedite pervoe dvoichnoe chislo:\n";
cin>>str;//вводим первое число
for (i=0; str[i]!='\0'; i++)
{
if (str[i]!=' ')
{
count++;//значение увеличивается
}
}
int mas[count];//позиции разрядов в числе
char popo;
for (i=0; i<count; i++)//счетчик увеличивается, пока не достигнет последнего элемента в числе
{
popo=str[i];
switch (popo)//цифры из множества (0;1)
{
case '0': {mas[i]=0;} break; 
case '1': {mas[i]=1;} break;
}
}
for (i=0; i<count; i++)
{
sa=((count-i)-1);
a=a+(mas[i]*(pow(2,sa)));
}
return a;
}
int dvh02()//описание второго двоичного числа
{
int y=0, b=0,i,count=0,j,as,sa;
char str[50];
cout<<"Vvedite vtoroe dvoichnoe chislo:\n";
cin>>str;
for (i=0; str[i]!='\0'; i++)
{
if (str[i]!=' ')
{
count++;
}
}
int mas[count];//позиции разрядов в числе(порядковый номер)
char popo;
for (i=0; i<count; i++)//счетчик увеличивается, пока не достигнет последнего элемента в числе
{
popo=str[i];
switch (popo)//цифры из множества (0;1)
{
case '0': {mas[i]=0;} break;
case '1': {mas[i]=1;} break;
}
}
for (i=0; i<count; i++)//счетчик увеличивается, пока не достигнет последнего элемента в числе
{
sa=((count-i)-1);
b=b+(mas[i]*(pow(2,sa)));
}
return b;
}
int dvh2(int d)//выполнение преобразований над вводимыми значениями
{
int i=0, b=0, dd=0,bb=0;
dd = d;
bb = d;
for (i=0; ; i++)
{
b++;
d=d/2;
if (d<2)
{
break;
}
}
b=b+1;//количество разрядов двоичного числа
int cel[b],ost[b],dvoich[b];
int trans = 0;
for (i=0; i<b; i++)
{
cel[i]=bb/2;
ost[i]=cel[i];
bb=bb/2;
cel[i]=dd-(cel[i]*2);
dd=ost[i];
dvoich[(b-1)-i]=cel[i];
}
for (i=0; i<b; i++)
{
cout<< dvoich[i];
}
return dvoich[i];
}
Буду благодарен за описание, спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru