Menu
Coddy logo textTech

Çok Boyutlu Diziler

Coddy'nin C Journey'sinin Fundamentals bölümünün bir parçası — ders 56 / 63.

Çok boyutlu bir dizi, dizilerden oluşan bir dizidir. C'de, esasen satır ve sütunlardan oluşan bir tablo olan 2 boyutlu bir dizi (en yaygın çok boyutlu dizi) oluşturabilirsiniz.

Bir 2D dizi tanımlayın:

int matrix[3][4];

Bu, 3 satır ve 4 sütunlu 2 boyutlu bir dizi oluşturur.

Bir 2D diziyi tanımlarken ilklendirebilirsiniz:

int matrix[3][4] = {
    {1, 2, 3, 4},    // İlk satır
    {5, 6, 7, 8},    // İkinci satır
    {9, 10, 11, 12}  // Üçüncü satır
};

2 boyutlu bir dizideki öğelere erişmek için iki dizin kullanın:

int value = matrix[1][2];  // Satır 1, sütun 2'ye erişir (değer 7 olacaktır)

2 boyutlu bir dizideki bir öğeyi değiştirmek için:

matrix[0][3] = 100;  // 0. satır, 3. sütundaki öğeyi 100 olarak değiştirir

2 boyutlu bir dizideki tüm elemanlara erişmek için iç içe döngüler de kullanabilirsiniz:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // Her satırdan sonra yeni satır
}
challenge icon

Görev

Kolay

Satır sayısının sütun sayısına eşit olduğu 2D bir kare diziyi (satır sayısının sütun sayısına eşit olduğu durum) parametre olarak alan ve ana köşegen üzerindeki (sol üstten sağ alta) elemanları yazdıran printDiagonal adında bir fonksiyon oluşturun.

Fonksiyon şunları yapmalıdır:

  1. Parametre olarak bir tamsayı dizisi ve boyutunu almalıdır.
  2. Ana köşegen üzerindeki her bir elemanı (satır indeksinin sütun indeksine eşit olduğu yer) yazdırmalıdır.
  3. Her elemanı bir boşlukla ayırmalıdır.

Örneğin, şu dizi verildiğinde:

1 2 3 4 5 6 7 8 9

Fonksiyon şunu yazdırmalıdır: 1 5 9

Kopya kağıdı

Çok boyutlu bir dizi, dizilerden oluşan bir dizidir. C'de, satır ve sütunlardan oluşan 2 boyutlu bir dizi oluşturabilirsiniz.

2 boyutlu bir dizi tanımlayın:

int matrix[3][4];

Tanımlama sırasında 2 boyutlu bir diziyi başlatın:

int matrix[3][4] = {
    {1, 2, 3, 4},    // Birinci satır
    {5, 6, 7, 8},    // İkinci satır
    {9, 10, 11, 12}  // Üçüncü satır
};

İki dizin kullanarak elemanlara erişin:

int value = matrix[1][2];  // 1. satır, 2. sütuna erişir (değer 7 olacaktır)

Bir elemanı değiştirin:

matrix[0][3] = 100;  // 0. satır, 3. sütundaki elemanı 100 olarak değiştirir

Tüm elemanlara erişmek için iç içe döngüler kullanın:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // Her satırdan sonra yeni satır
}

Kendin dene

#include <stdio.h>

// Kare bir matrisin köşegen elemanlarını yazdıran fonksiyon
void printDiagonal(int matrix[][100], int size) {
    // Kodunuzu buraya yazın
    
}

int main() {
    int size;
    scanf("%d", &size);
    
    int matrix[100][100];
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }
    
    printDiagonal(matrix, size);
    
    return 0;
}
quiz iconKendini test et

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

Fundamentals bölümündeki tüm dersler