Tablica Int sumowanie sąsiadujących elementów.

0

Utwórz dwuwymiarowa tablice zmiennych typu int o rozmiarach 10 na 10 i wypełnij
ja losowymi liczbami. Nastepnie znajdz taki element tej tablicy, którego suma elementów
sasiadujacych jest najwieksza.
Uwaga:
elementami sasiadujacymi sa wszystkie elementy graniczace z elementem analizowanym;
jezeli element sasiadujacy wychodzi poza granice tablicy, nie podlega analizie;
parametryzacja i wypisanie wszystkich sasiadujacych elementów nie jest rozwiazaniem
tego zadania;

Random r = new Random();

int[][] tab = new int[10][10];

for(int i=0; i<tab.length; i++)
    for (int j=0; j<tab[i].length; j++)
        tab[i][j]=r.nextInt(100);
	
for(int i=0; i<tab.length; i++){
    for (int j=0; j<tab[i].length; j++)
    System.out.print(tab[i][j]+ " ");
    }

Mam tablice 10 na 10 wypełnioną losowymi elementami i moja prośba o pomysł jak się dobrać do sąsiadujących elementów ??

1

jak się dobrać do sąsiadujących elementów ??

Odpowiedź jest prosta: odpowiednio używając indeksów tablicy.
W Twoim zadaniu musisz rozważyć kilka przypadków:

  1. Element znajduje się gdzieś w środku tablicy. Sumujesz wtedy wszystkie liczby wokół tego elementu.
  2. Element leży w pierwszej lub ostatniej kolumnie, albo w pierwszym i ostatnim wierszu (z wyłączeniem wierzchołków). Tutaj musisz uważać żeby nie wyjść poza zakres tablicy. Np. jeżeli element leży w pierwszej kolumnie to sumujesz wartości sąsiadujące z prawej strony oraz od góry i z dołu.
  3. Element leży właśnie na wierzchołku. Sprawdzasz na którym i jeżeli na przykład rozpatrywany element to tab[0][0] to sumujesz tab[0][1] + tab[1][0] + tab[1][1]. Analogicznie robisz dla pozostałych trzech.

EDIT: Właśnie doczytałem treść zadania i musisz rozpatrzeć tylko pierwszy punkt.
Zaczynasz od drugiej kolumny i drugiego wiersza i nie dochodzisz do końca tylko do przedostatniej kolumny i przedostatniego
wiersza.

0

THX za pomoc myślałem że jest jakiś sposób inny niz sumowanie indeksów i lecenie krok po kroczku :)

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