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

question-closed Tablice wielowymiarowe - wyświetlanie wierszami i kolumnami

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

Mam taki kod, który wyświetla tablicę wierszami: 

public void WyswietlWierszami() {
		for (int i = 0; i<tab.length; i++) {

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

Jak wygląda kod, który wyświetla tablicę kolumnami w wierszach?

Np. to co w podanym przeze mnie kodzie wygląda:

3, 4, 5

1, 2, 3

4, 5, 9

Powinno wyjść:

3, 1, 4

4, 2, 5

5, 3, 9

 

Jak zrobić, żeby działało np. dla tablic o wymiarach 3x4 (niekwadratowych)?

komentarz zamknięcia: odp uzyskana

3 odpowiedzi

0 głosów
odpowiedź 10 listopada 2018 przez Snejki Stary wyjadacz (14,520 p.)

zmień

System.out.print(tab[i][j] + ", ");

na

System.out.print(tab[j][i] + ", ");

w szóstej linii twojego kodu

komentarz 10 listopada 2018 przez Tom_Ja Dyskutant (7,970 p.)
Jest taki problem, że nie jest to tablica kwadratowa, więc może wyjść poza zakres.
komentarz 10 listopada 2018 przez RafalS VIP (122,820 p.)
Działa tylko dla kwadratowych tablic.
komentarz 10 listopada 2018 przez Tom_Ja Dyskutant (7,970 p.)
No właśnie, więc jak zrobić to dla tablic o dowolnych wymiarach?
komentarz 10 listopada 2018 przez RafalS VIP (122,820 p.)
Patrz nizej :D
0 głosów
odpowiedź 10 listopada 2018 przez RafalS VIP (122,820 p.)
edycja 10 listopada 2018 przez RafalS

Jeśli wszystkie tablice wewnętrzne sa rownej dlugosci - w macierzy nie ma dziur - to wystarczy:

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

Jeśli nie są to zadanie sie komplikuje, bo w pewnym momencie musisz wypisac puste miejsce

Wierszami:

1 2 3
4 5
6 7 8

Kolumnami:

1 4 6
2 5 7
3    8

0 głosów
odpowiedź 10 listopada 2018 przez Tom_Ja Dyskutant (7,970 p.)

Ok, można to zrobić w ten sposób:

public void WyswietlKolumnami() {
			for (int i = 0; i<tab[0].length; i++) {
			for (int j = 0; j<tab.length; j++) {
			System.out.print(tab[j][i] + ", ");
			}
			System.out.println();
		}
	}

 

Podobne pytania

+1 głos
0 odpowiedzi 319 wizyt
0 głosów
0 odpowiedzi 285 wizyt
pytanie zadane 25 listopada 2019 w C i C++ przez Hubertius Bywalec (2,970 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...