Witam, mam planszę n x n, i teraz chcę (tak jak w grze kółko i krzyżyk, tylko na planszy dowolnego rozmiaru a nie 3x3) sprawdzić czy jest kolumna albo wiersz, albo po dwóch ukosach taka sama wartość we wszystkich polach (jeśli dla kogoś to niezrozumiałe co napisałem, to przesyłam załącznik, chcę sprawdzić rzeczy na czerwono zaznaczone).
Czy jest na to szybsza możliwość niż dwa podwójne for
-y (jeden po wierszach, drugi po kolumnach) a potem sprawdzenie osobno dwóch przypadków po ukosie? Bo nie mam za bardzo innego pomysłu.
Ten for zrobiłbym tak (po wierszach):
{
bool isLine;
for(int i=0; i<n; ++i)
{
isLine = true;
int value = tab[i][0];
for(int j=1; j<n; ++j)
{
if(value != tab[i][j])
{
isLine = false;
break;
}
}
if(isLine == true)
return true;
}
//warunki dla ukośnych
//warunki po kolumnach
return false;
}