Dalam tutorial ini, Anda akan belajar bekerja dengan array multidimensi (array dua dimensi dan tiga dimensi) dengan bantuan contoh.
Dalam pemrograman C, Anda dapat membuat array dari array. Array ini dikenal sebagai array multidimensi. Sebagai contoh,
float x(3)(4);
Di sini, x adalah array dua dimensi (2d). Array dapat menampung 12 elemen. Anda dapat menganggap array sebagai tabel dengan 3 baris dan setiap baris memiliki 4 kolom.
Demikian pula, Anda dapat mendeklarasikan array tiga dimensi (3d). Sebagai contoh,
float y(2)(4)(3);
Di sini, array y dapat menampung 24 elemen.
Menginisialisasi array multidimensi
Berikut adalah cara menginisialisasi array dua dimensi dan tiga dimensi:
Inisialisasi array 2d
// 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);
Inisialisasi array 3d
Anda dapat menginisialisasi larik tiga dimensi dengan cara yang mirip seperti larik dua dimensi. Berikut contohnya,
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)));
Contoh 1: Array dua dimensi untuk menyimpan dan mencetak nilai
// 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; )
Keluaran
Kota 1, Hari 1:33 Kota 1, Hari 2:34 Kota 1, Hari 3:35 Kota 1, Hari 4:33 Kota 1, Hari 5:32 Kota 1, Hari 6: 31 Kota 1, Hari 7:30 Kota 2, Hari 1:23 Kota 2, Hari 2:22 Kota 2, Hari 3:21 Kota 2, Hari 4:24 Kota 2, Hari 5:22 Kota 2, Hari 6:25 Kota 2, Hari 7:26 Menampilkan nilai : Kota 1, Hari 1 = 33 Kota 1, Hari 2 = 34 Kota 1, Hari 3 = 35 Kota 1, Hari 4 = 33 Kota 1, Hari 5 = 32 Kota 1, Hari 6 = 31 Kota 1, Hari 7 = 30 Kota 2, Hari 1 = 23 Kota 2, Hari 2 = 22 Kota 2, Hari 3 = 21 Kota 2, Hari 4 = 24 Kota 2, Hari 5 = 22 Kota 2, Hari 6 = 25 Kota 2, Hari 7 = 26
Contoh 2: Jumlah dua matriks
// 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; )
Keluaran
Masukkan elemen matriks pertama Masukkan a11: 2; Masukkan a12: 0,5; Masukkan a21: -1.1; Masukkan a22: 2; Masukkan elemen matriks ke-2 Masukkan b11: 0.2; Masukkan b12: 0; Masukkan b21: 0.23; Masukkan b22: 23; Jumlah Matriks: 2,2 0,5 -0,9 25,0
Contoh 3: Array tiga dimensi
// 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; )
Keluaran
Masukkan 12 nilai: 1 2 3 4 5 6 7 8 9 10 11 12 Menampilkan Nilai: test (0) (0) (0) = 1 test (0) (0) (1) = 2 test (0) (1) (0) = 3 tes (0) (1) (1) = 4 tes (0) (2) (0) = 5 tes (0) (2) (1) = 6 tes (1) (0) (0 ) = 7 tes (1) (0) (1) = 8 tes (1) (1) (0) = 9 tes (1) (1) (1) = 10 tes (1) (2) (0) = 11 tes (1) (2) (1) = 12