• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Tablice wielowymiarowe - obliczenie i zwrot w postaci tablicy sumy elementów w poszczególnych kolumnach

VPS Starter Arubacloud
0 głosów
212 wizyt
pytanie zadane 10 listopada 2018 w Java przez Tom_Ja Dyskutant (7,970 p.)
zamknięte 10 listopada 2018 przez Tom_Ja

Mam tablicę niekwadratową. W jaki sposób mam stworzyć tablicę sumy elementów, która będzie zliczała sumę wyrazów w poszczególnych kolumnach?

 

Napisałem coś takiego:

	public int SumaKolumny() {
		int [] output = new int[tab[0].length];
		for (int i = 0; i<tab[0].length; i++) {
		for (int j = 0; j<tab.length; j++) {
            output[j] += tab[j];
		}
			}
		System.out.println(output);
		}

Ale jest problem z tą linijką:

            output[j] += tab[j];

Wyświetla:

The operator += is undefined for the argument type(s) int, int[]

Jak to naprawić?

komentarz zamknięcia: odp uzyskana

1 odpowiedź

+1 głos
odpowiedź 10 listopada 2018 przez RafalS VIP (122,820 p.)
wybrane 10 listopada 2018 przez Tom_Ja
 
Najlepsza
        int tab[][] = {{1,2,3},{4,5,6}};
        int column_sums[] = new int[tab[0].length];
        for (int i = 0; i<tab.length; i++) {
            for (int j = 0; j<tab[i].length; j++) {
                column_sums[j] += tab[i][j];
            }
        }
        System.out.println(Arrays.toString(column_sums));

EDIT: co do dodanego kodu to probujesz przypisać tablice do inta.

Naprawic mozesz tak:

output[j] += tab[j][i];

 

komentarz 10 listopada 2018 przez Tom_Ja Dyskutant (7,970 p.)
Jak powinienem to naprawić?
komentarz 10 listopada 2018 przez RafalS VIP (122,820 p.)

Za bardzo gwałcimy przycisk edytuj post :D

Edytowałem 2 razy w odpowiedzi na Twoje edycje :D

Co do naprawy to najszybciej skopiowac to co napisałem, a najlepiej zrozumieć problem.

Nie można zrobić tak:

int t[] = {1,2,3};
int x = t;

 

komentarz 10 listopada 2018 przez Tom_Ja Dyskutant (7,970 p.)

@RafalS,

	public void SumaKolumny() {
		int [] output = new int[tab[0].length];
		for (int i = 0; i<tab[0].length; i++) {
		for (int j = 0; j<tab.length; j++) {
            output[j] += tab[j][i];
		}
			}
		System.out.println(output);
		}

Mam takie coś, i wyświetla

[I@6d06d69c

...

komentarz 10 listopada 2018 przez RafalS VIP (122,820 p.)
System.out.println(output);

bo wypisujesz referencje. Jak chcesz zawartosc tablicy to Arrays.toString(output);

komentarz 10 listopada 2018 przez Tom_Ja Dyskutant (7,970 p.)

Próbowałem, ale wyświetla:

    Arrays cannot be resolved
 

	public void SumaKolumny() {
		int [] output = new int[tab[0].length];
		for (int i = 0; i<tab[0].length; i++) {
		for (int j = 0; j<tab.length; j++) {
            output[j] += tab[j][i];
		}
			}
		System.out.println(Arrays.toString(output));
		}


EDIT: trzeba dołączyć: import java.util.Arrays;

 

Dzięki za pomoc!

komentarz 10 listopada 2018 przez RafalS VIP (122,820 p.)
W czym Ty to piszesz, że IDE Ci nie podpowiedziało, że trzeba zaimportować java.util.Arrays ?

Podobne pytania

0 głosów
3 odpowiedzi 357 wizyt
pytanie zadane 10 listopada 2018 w Java przez Tom_Ja Dyskutant (7,970 p.)
0 głosów
0 odpowiedzi 274 wizyt
pytanie zadane 25 listopada 2019 w C i C++ przez Hubertius Bywalec (2,970 p.)
0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 30 kwietnia 2020 w C i C++ przez Dolfro Nowicjusz (160 p.)

92,452 zapytań

141,262 odpowiedzi

319,078 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...