Ç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ştirir2 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
}Görev
KolaySatı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:
- Parametre olarak bir tamsayı dizisi ve boyutunu almalıdır.
- Ana köşegen üzerindeki her bir elemanı (satır indeksinin sütun indeksine eşit olduğu yer) yazdırmalıdır.
- 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ştirirTü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;
}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
2Değişkenler
Veri TipleriTam Sayı (Integer)Float - DoubleKarakterlerBooleanlarSabitlerprintf TemelleriDeğişken İsimlendirme KurallarıTip Dönüşümü Bölüm 1Tip Dönüşümü Bölüm 2Özet Meydan Okuması3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama Operatörleriİlişkisel OperatörlerMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3Özet Meydan Okuması