имею код:
#include <iostream>
#include <conio.h>
using namespace std;
int arr[9];
bool win;
bool proverka()
{
if (arr[0] == 2 && arr[1] == 2 && arr[2]==2)
{
return true;
win = true;
}
else
{
return false;
win = false;
}
}
void output()
{
for (int i = 0; i < 9; i++)//вывод поля
{
cout << " | " << arr[i] << " | ";
if ((i + 1) % 3 == 0)
{
cout << endl;
}
}
}
int main()
{
setlocale(LC_ALL, "Russian");
arr[0] = 2;
arr[1] = 2;
arr[2] = 2;
output();
proverka();
if (proverka())
{
cout << "RAVNO";
}
else
{
cout << "NE RAVNO";
}
_getch();
return 0;
}
Обратите внимание на условие в функции proverka(), все работает правильно только в таком виде, но мне нужно что бы условие было вида:
if (arr[0] == arr[1] == arr[2])
в таком случае выводится результат "не равно"
Но написав вот так:
if (a == b == с)
заранее инициализировав переменные типа int a,b,c и присвоив им всем значение единицы, то все ок и выводится сообщение о верном равенстве.
Вопрос: почему сравнение значений массива по индексу работает не так, как с обычными переменными?
и как мне добиться нужного результата?