Menu
Coddy logo textTech

Çok Boyutlu Diziler

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

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

2B bir dizi tanımlayın:

int matrix[3][4];

Bu, 3 satır ve 4 sütundan oluşan 2B bir dizi oluşturur.

2B bir diziyi tanımlarken başlatabilirsiniz:

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
};

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

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

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

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

2B bir dizideki tüm öğelere erişmek için iç içe döngüleri 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

printDiagonal adlı bir işlev oluşturun. Bu işlev, 2B kare bir diziyi (satır sayısının sütun sayısına eşit olduğu dizi) almalı ve ana köşegen üzerindeki (sol üstten sağ alta) öğeleri yazdırmalıdır.

İşlev şunları yapmalıdır:

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

Örneğin, aşağıdaki dizi verildiğinde:

1 2 3 4 5 6 7 8 9

İşlev şunu yazdırmalıdır: 1 5 9

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.

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

Kendi başına pratik yap: Online C derleyicisi