Случайные арифметические знаки
Нужно случайным образом сгенерировать три оператора (из четырех: - + * /)и вычислить пример.
Причем вычесление должно происходить по всем правилам приоритетов.
Примерная схема:
Получаем случайный оператор:
op1=+
op2=/
op3=+
чис1 op1 чис2 op2 чис3 op3 чис4 = ответ
Может кто-нибудь может дать подсказку, с чего вообще рыть........(язык C/C++)
Цитата:
Originally posted by Denton
Есть 4 числа, типа integer.
Нужно случайным образом сгенерировать три оператора (из четырех: - + * /)и вычислить пример.
Причем вычесление должно происходить по всем правилам приоритетов.
Примерная схема:
Получаем случайный оператор:
op1=+
op2=/
op3=+
чис1 op1 чис2 op2 чис3 op3 чис4 = ответ
Может кто-нибудь может дать подсказку, с чего вообще рыть........(язык C/C++)
Есть 4 числа, типа integer.
Нужно случайным образом сгенерировать три оператора (из четырех: - + * /)и вычислить пример.
Причем вычесление должно происходить по всем правилам приоритетов.
Примерная схема:
Получаем случайный оператор:
op1=+
op2=/
op3=+
чис1 op1 чис2 op2 чис3 op3 чис4 = ответ
Может кто-нибудь может дать подсказку, с чего вообще рыть........(язык C/C++)
я могу посоветовать разобрать пример программы калькулятора из Страуструпа (Язык программирования С++, глава 3). это именно тот случай.
У меня есть "The C++ Programming Language Special 3rd Edition" - эта она ? В третьей главе ничего такого не нашел....
Если только 4 числа и 3 места для 4-рех арифметических действий - то проще составить табличку выбора, перебрав все варианты (коих не много)- это дешево и сердито, а для боле замороченного варианта предлагаю почитать и использовать алгоритмы бесскобочной логики (или стековой) то есть 2+3*2-5 будет выглядеть как 3|2*2+5- где знак | означает занесение числа в стек