Mam tablicę bool wypełnioną wartościami false:
Kopiuj
bool arr[N][N] = {};
Jednakże niektóre elementy mają wartość true:
Kopiuj
arr[0][2] = true;
arr[1][5] = true;
arr[2][1] = true;
arr[3][6] = true;
Zakładając, że tablica ma taką konstrukcję:
Kopiuj
arr[ lewy indeks ][ prawy indeks ];
To chciałbym przydzielić do zmiennych int i, j z tej tablicy tylko te pary indeksów, które razem w tablicy dają wartość true. i odpowiada za lewy indeks, a j za prawy. Najpierw więc i = 0; j = 2;.
Następnie chciałbym te zmienne i, j modyfikować, robić coś na nich, a później znów ustawić na wartość początkową i = 0; j = 2;.
Gdy już skończę cały cykl z:
Kopiuj
arr[0][2] = true;
// czyli
i = 0; j = 2;
// instrukcje zmieniające ich wartość
// ustawienie i oraz j z powrotem na i = 0; i = 2;
// znów instrukcje zmieniające ich wartość
// ...
to chciałbym przejść do następnego elementu tablicy arr który daje true, czyli:
i analogicznie ustawić i na 1, j na 5 i robić coś na tych zmiennych. Później przejść do następnego elementu tablicy będącego true, i tak w kółko aż przejdę przez całą tablicę.
Tak naprawdę cały problem sprowadza się do tego w jaki sposób ustalić czy dany element tablicy jest true, a następnie przydzielić do i oraz j odpowiadające danemu elementowi wartości indeksów.