Если это C-подобный язык, вам нужно использовать ==
для проверки равенства, а не =
.Одиночный =
предназначен для назначения , поэтому:
int seven = 7;
int five = 5;
if (seven - five == 2) ...
в порядке, но:
int seven = 7;
int five = 5;
if (seven - five = 2) ...
будет, даже если он компилируется, не делать то, чтовы ожидаете.
У вас есть классический пример в вашем коде.Сегмент:
if (count_black = 0) blah;
будет не выполнять blah
, когда count_black
равен нулю. установит count_black
на ноль и будет постоянно отказываться выполнять blah
, поскольку результат count_blah = 0
равен 0 (ложь).
Если вы хотитеравенство:
num_red - count_red == red_pot
, чтобы быть правдой, вам нужно назначить одну из этих переменных («неизвестную») на основе двух других «известных».Например, если известны num_red
и count_red
, установите red_pot
с помощью:
red_pot = num_red - count_red;
В качестве альтернативы, если известны red_pot
и count_red
, установите num_red
с помощью:
num_red = count_red + red_pot;