Tablica 2 wymiarowa suma górnego wiersza

0

Cześć, napisałem funkcje sumującą górny wiersz tylko nie wiem za bardzo jakim cudem ona działa :O możecie mi to wytłumaczyć linijka po linijce?

public static void sumujGore(int tab[][]){

        int suma = 0;
        for(int x = 0; x < 1; x++)
        {
            for(int y = 0; y < tab.length; y++){
                suma+=tab[x][y];
            }
        }
        System.out.println(suma);
    }
0

Ta pętla

for(int x = 0; x < 1; x++)

ma tylko 1 iterację i x zawsze jest równe 0

0

napisałem
nie wiem jakim cudem działa

Na pewno.

0

Mam takie zadanie: Pobierz od usera tablice dwuwymiarowa i zwiększ wszystkie elementy tablicy nad przekątną o średnią arytmetyczną elementów pod przekątną.
I stanałem na takim momencie:

public static void main(String[] args) {
        int [][] tab = generujtablice(4, 4);
        wypisztablice(tab);
        sumujGore(tab);
        sumujPrzek(tab);

    }

    public static int[][] generujtablice(int ix, int iy) {
        int tablica[][] = new int[ix][iy];
        int liczba = 0;
        for (int i = 0; i < ix; i++)
            for (int j = 0; j < iy; j++){
                liczba++;
                tablica[i][j] = liczba;
            }
        return tablica;
    }
    public static void wypisztablice(int[][] tablica) {
        for(int i = 0; i < tablica.length; i++) {
          for(int j = 0; j < tablica[i].length; j++) {
            System.out.print(tablica[i][j] + "\t");
          }
          System.out.println("");
        }
        System.out.println("");
     }

I nie wiem co dalej..

0

Średnia może nie być liczbą całkowitą, lepiej zmień deklarację tablicy.

double [][] tab = generujtablice(4, 4);

Aby program nie był monotonny, to losuj elementy tablicy.

    public static double[][] generujtablice(int ix, int iy) {
        double[][] tablica[][] = new double[ix][iy];
        Random r = new Random();
        for (int i = 0; i < ix; i++)
            for (int j = 0; j < iy; j++){
                tablica[i][j] = r.nextInt(21) - 10;
            }
        return tablica;
    }

Po co Ci funkcja sumujGore? Potrzebna jest funkcja sumujDol.

static int sumujDol(double[][] tablica){
    int suma = 0;
    for(int w = 1;w < 4;w++){
       for(int k = 4 - w;k < 4; k++){
           suma += tablica[w][k];
       }
    }
}

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