Bu eğitimde, örnekler yardımıyla çok boyutlu dizilerle (iki boyutlu ve üç boyutlu diziler) çalışmayı öğreneceksiniz.
C programlamada, bir dizi dizisi oluşturabilirsiniz. Bu diziler çok boyutlu diziler olarak bilinir. Örneğin,
float x(3)(4);
Burada x iki boyutlu (2d) bir dizidir. Dizi 12 öğe tutabilir. Diziyi 3 satırlı ve her satırda 4 sütunlu bir tablo olarak düşünebilirsiniz.
Benzer şekilde, üç boyutlu (3d) bir dizi de tanımlayabilirsiniz. Örneğin,
float y(2)(4)(3);
Burada y dizisi 24 eleman tutabilir.
Çok boyutlu bir diziyi başlatma
İki boyutlu ve üç boyutlu dizileri şu şekilde başlatabilirsiniz:
2d dizisinin başlatılması
// Different ways to initialize two-dimensional array int c(2)(3) = ((1, 3, 0), (-1, 5, 9)); int c()(3) = ((1, 3, 0), (-1, 5, 9)); int c(2)(3) = (1, 3, 0, -1, 5, 9);
3B dizinin başlatılması
Üç boyutlu bir diziyi, iki boyutlu bir diziye benzer bir şekilde başlatabilirsiniz. İşte bir örnek,
int test(2)(3)(4) = ( ((3, 4, 2, 3), (0, -3, 9, 11), (23, 12, 23, 2)), ((13, 4, 56, 3), (5, 9, 3, 5), (3, 1, 4, 9)));
Örnek 1: Değerleri depolamak ve yazdırmak için iki boyutlu dizi
// C program to store temperature of two cities of a week and display it. #include const int CITY = 2; const int WEEK = 7; int main() ( int temperature(CITY)(WEEK); // Using nested loop to store values in a 2d array for (int i = 0; i < CITY; ++i) ( for (int j = 0; j < WEEK; ++j) ( printf("City %d, Day %d: ", i + 1, j + 1); scanf("%d", &temperature(i)(j)); ) ) printf("Displaying values: "); // Using nested loop to display vlues of a 2d array for (int i = 0; i < CITY; ++i) ( for (int j = 0; j < WEEK; ++j) ( printf("City %d, Day %d = %d", i + 1, j + 1, temperature(i)(j)); ) ) return 0; )
Çıktı
Şehir 1, 1. Gün: 33 Şehir 1, 2. Gün: 34 Şehir 1, 3. Gün: 35 Şehir 1, 4. Gün: 33 Şehir 1, 5. Gün: 32 Şehir 1, 6. Gün: 31 Şehir 1, 7. Gün Şehir 2, 1. Gün: 23 Şehir 2, 2. Gün: 22 Şehir 2, 3. Gün: 21 Şehir 2, 4. Gün: 24 Şehir 2, 5. Gün: 22 Şehir 2, 6. Gün:25 Şehir 2, Gün 7:26 Değerlerin görüntülenmesi : 1. Şehir, 1. Gün = 33 Şehir 1, 2. Gün = 34 Şehir 1, 3. Gün = 35 Şehir 1, 4. Gün = 33 Şehir 1, 5. Gün = 32 Şehir 1, 6. Gün = 31 Şehir 1, 7. Gün = 30 Şehir 2, Gün 1 = 23 Şehir 2, Gün 2 = 22 Şehir 2, Gün 3 = 21 Şehir 2, Gün 4 = 24 Şehir 2, Gün 5 = 22 Şehir 2, Gün 6 = 25 Şehir 2, Gün 7 = 26
Örnek 2: İki matrisin toplamı
// C program to find the sum of two matrices of order 2*2 #include int main() ( float a(2)(2), b(2)(2), result(2)(2); // Taking input using nested for loop printf("Enter elements of 1st matrix"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) ( printf("Enter a%d%d: ", i + 1, j + 1); scanf("%f", &a(i)(j)); ) // Taking input using nested for loop printf("Enter elements of 2nd matrix"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) ( printf("Enter b%d%d: ", i + 1, j + 1); scanf("%f", &b(i)(j)); ) // adding corresponding elements of two arrays for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) ( result(i)(j) = a(i)(j) + b(i)(j); ) // Displaying the sum printf("Sum Of Matrix:"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) ( printf("%.1f ", result(i)(j)); if (j == 1) printf(""); ) return 0; )
Çıktı
1. matrisin elemanlarını girin a11: 2 girin; A12: 0.5 girin; A21: -1.1 girin; A22: 2 girin; 2. matrisin elemanlarını girin b11: 0.2 girin; B12: 0 girin; B21: 0.23 girin; B22: 23 girin; Matris Toplamı: 2,2 0,5 -0,9 25,0
Örnek 3: Üç boyutlu dizi
// C Program to store and print 12 values entered by the user #include int main() ( int test(2)(3)(2); printf("Enter 12 values: "); for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 3; ++j) ( for (int k = 0; k < 2; ++k) ( scanf("%d", &test(i)(j)(k)); ) ) ) // Printing values with proper index. printf("Displaying values:"); for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 3; ++j) ( for (int k = 0; k < 2; ++k) ( printf("test(%d)(%d)(%d) = %d", i, j, k, test(i)(j)(k)); ) ) ) return 0; )
Çıktı
12 değer girin: 1 2 3 4 5 6 7 8 9 10 11 12 Görüntülenen Değerler: test (0) (0) (0) = 1 test (0) (0) (1) = 2 test (0) (1) (0) = 3 test (0) (1) (1) = 4 test (0) (2) (0) = 5 test (0) (2) (1) = 6 test (1) (0) (0 ) = 7 test (1) (0) (1) = 8 test (1) (1) (0) = 9 test (1) (1) (1) = 10 test (1) (2) (0) = 11 test (1) (2) (1) = 12