Ç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ştirir2B 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
}Görev
KolayprintDiagonal 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:
- Parametre olarak bir tamsayı dizisi ve boyutunu almalıdır.
- Ana köşegen üzerindeki her öğeyi (satır indeksinin sütun indeksine eşit olduğu öğeleri) yazdırmalıdır.
- 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;
}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
2Değişkenler
Veri TürleriTamsayıOndalık - DoubleKarakterlerBoolean'larSabitlerprintf TemelleriDeğişken Adlandırma KurallarıTür Dönüştürme 1. BölümTür Dönüştürme 2. BölümTekrar Mücadelesi3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama OperatörleriKarşılaştırma OperatörleriMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3Tekrar MücadelesiKendi başına pratik yap: Online C derleyicisi