Macierz 4x4 wypełniona liczbami podzielnymi przez 3 zaczynając od 10

0

Witajcie,

staram się rozwiązać to zadanie, ale wciąż mam błędne wyniki. Jak w temacie, stworzyłem tablicę dwuwymiarową 4x4 i próbuję ją teraz wypełnić liczbami podzielnymi przez 3 zaczynając od 10:

int[][] macierz7 = new int[4][4];
int liczba2 = 10;

for (int i = 0; i < macierz7.length; i++) {
    for (int j = 0; j < macierz7[0].length; j++) {
        if(i%3 == 0 && j%3==0) {
            macierz7[i][j] = liczba2;
            liczba2++;
            System.out.print(macierz7[i][j] + " ");
        }
    }
    System.out.println();
}

Prosiłbym o jakąś podpowiedź co robię źle. Z góry dziękuję.

2

co robię źle

Masz wpisywać do macierzy wartości podzielne przez 3 a ty masz tam if(i%3 == 0 && j%3==0) czyli sprawdzasz czy indeks jest podzielny przez 3 a nie czy liczba2 jest podzielna przez 3.

1

@Shalom: ehh, ale fuck up - faktycznie. Teraz mam to co trzeba:

int[][] macierz7 = new int[4][4];
int liczba2 = 10;

for (int i = 0; i < macierz7.length; i++) {
    for (int j = 0; j < macierz7[0].length; j++) {
        if(liczba2%3 == 0)
        macierz7[i][j] = liczba2;
        liczba2++;
        System.out.print(macierz7[i][j] + " ");
    }
    System.out.println();
}

Dzięki wielkie za pomoc w rozwiązaniu. :)

0

ładne jaja...
Moja mózgownica, pewnie przy sobocie, z tytułu wątku przetworzyła tylko 4x4

Wchodzę tu i myślę, o jakieś off-roadowe klimaty będą.
A tu du...a zbita 😂

1

Jeśli chcesz kolejne liczby podzielne przez 3 to zrób to sobie na zasadzie mnożnika.
Nie trzeba wtedy żadnych ifów.

Twoja pierwsza liczba podzielna przez 3 to 12, więc mnożnik początkowy to 4.
Następna liczba podzielna przez 3 ma mnożnik 5 itd.

Więc:

int mnoznik = 4;
// ...
macierz7[i][j] = 3 * mnoznik;
mnoznik++;

1 użytkowników online, w tym zalogowanych: 0, gości: 1