Menu
Coddy logo textTech

3D Diziler ve Ötesi

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 7 / 59.

Tıpkı 2D diziler (dizilerin dizileri) oluşturabildiğiniz gibi, 3D diziler (dizilerin dizilerinin dizileri), 4D diziler ve benzerlerini de oluşturabilirsiniz. Bunlara çok boyutlu diziler denir.

3D bir dizi, birbirinin üzerine yığılmış 2D dizilerin bir koleksiyonu olarak görselleştirilebilir ve küp benzeri bir yapı oluşturur. 3D dizideki her eleman, üç indeks kullanılarak erişilir: derinlik (hangi 2D dizi) için biri, satır için biri ve sütun için biri.

Java'da bir 3D diziyi tanımlama ve başlatma şu şekildedir:

data_type[][][] array_name = new data_type[depth][rows][columns];
  • data_type: Dizinin tutacağı öğelerin türü.
  • array_name: Dizinin adı.
  • depth: 2D dizilerin sayısı (derinlik).
  • rows: Her 2D dizideki satır sayısı.
  • columns: Her 2D dizideki sütun sayısı.

Örneğin, 2x3x4 boyutlarında bir 3D tamsayı dizisi oluşturmak için şu şekilde yazarsınız:

int[][][] cube = new int[2][3][4];

Ayrıca bir 3D diziyi doğrudan ilklendirebilirsiniz:

int[][][] cube = {
    {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    },
    {
        {13, 14, 15, 16},
        {17, 18, 19, 20},
        {21, 22, 23, 24}
    }
};
challenge icon

Görev

Kolay

Üç tamsayı argümanı alan bir program yazın: depth, rows ve cols. Belirtilen boyutlarda tamsayı içeren bir 3D dizi oluşturmalı ve dizinin her elemanını derinlik, satır ve sütun indekslerinin çarpımı (1'den başlayarak) ile başlatmalı.

Örneğin, [d][r][c] konumundaki eleman (d + 1) * (r + 1) * (c + 1) değerine sahip olmalıdır.

Son olarak, iç içe döngüler kullanarak elde edilen 3D diziyi konsola yazdırın. Çıktı şu şekilde görünmelidir:

Depth 0:
1 2 3 4 
2 4 6 8 
3 6 9 12 
Depth 1:
2 4 6 8 
4 8 12 16 
6 12 18 24

Kopya kağıdı

3D diziler, dizilerin dizilerinin dizileridir ve derinlik, satırlar ve sütunlar içeren küp benzeri yapılar olarak görselleştirilir.

Tanımlama ve başlatma:

data_type[][][] array_name = new data_type[depth][rows][columns];

Örnek:

int[][][] cube = new int[2][3][4];

Doğrudan başlatma:

int[][][] cube = {
    {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    },
    {
        {13, 14, 15, 16},
        {17, 18, 19, 20},
        {21, 22, 23, 24}
    }
};

Elemanlar üç indeks kullanılarak erişilir: array[depth][row][column]

Kendin dene

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int depth = scanner.nextInt();
        int rows = scanner.nextInt();
        int cols = scanner.nextInt();

        int[][][] array3D = new int[depth][rows][cols];
        // Kodunuzu buraya yazın

        // 3D diziyi yazdır
        for (int d = 0; d < depth; d++) {
            System.out.println("Depth " + d + ":");
            for (int r = 0; r < rows; r++) {
                for (int c = 0; c < cols; c++) {
                    System.out.print(array3D[d][r][c] + " ");
                }
                System.out.println();
            }
        }
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler