C Susunan Multidimensi (Array 2d dan 3D)

Dalam tutorial ini, anda akan belajar bekerja dengan tatasusunan multidimensi (susunan dua dimensi dan tiga dimensi) dengan bantuan contoh.

Dalam pengaturcaraan C, anda boleh membuat susunan array. Susunan ini dikenali sebagai tatasusunan multidimensi. Sebagai contoh,

 float x(3)(4);

Di sini, x ialah susunan dua dimensi (2d). Susunan boleh memuat 12 elemen. Anda boleh menganggap susunan sebagai jadual dengan 3 baris dan setiap baris mempunyai 4 lajur.

Begitu juga, anda boleh menyatakan susunan tiga dimensi (3d). Sebagai contoh,

 float y(2)(4)(3);

Di sini, susunan y dapat menahan 24 elemen.

Memulakan susunan pelbagai dimensi

Inilah cara anda boleh memulakan susunan dua dimensi dan tiga dimensi:

Permulaan 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); 

Permulaan array 3d

Anda boleh memulakan susunan tiga dimensi dengan cara yang serupa seperti susunan dua dimensi. Inilah 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: Susunan 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; ) 

Pengeluaran

 Bandar 1, Hari 1: 33 Bandar 1, Hari 2: 34 Bandar 1, Hari 3: 35 Bandar 1, Hari 4: 33 Bandar 1, Hari 5: 32 Bandar 1, Hari 6: 31 Bandar 1, Hari 7: 30 Bandar 2, Hari 1: 23 Bandar 2, Hari 2: 22 Bandar 2, Hari 3: 21 Bandar 2, Hari 4: 24 Bandar 2, Hari 5: 22 Bandar 2, Hari 6: 25 Bandar 2, Hari 7: 26 Menunjukkan nilai : Bandar 1, Hari 1 = 33 Bandar 1, Hari 2 = 34 Bandar 1, Hari 3 = 35 Bandar 1, Hari 4 = 33 Bandar 1, Hari 5 = 32 Bandar 1, Hari 6 = 31 Bandar 1, Hari 7 = 30 Bandar 2, Hari 1 = 23 Bandar 2, Hari 2 = 22 Bandar 2, Hari 3 = 21 Bandar 2, Hari 4 = 24 Bandar 2, Hari 5 = 22 Bandar 2, Hari 6 = 25 Bandar 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; )

Pengeluaran

Masukkan elemen matriks 1 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: Susunan 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; )

Pengeluaran

 Masukkan 12 nilai: 1 2 3 4 5 6 7 8 9 10 11 12 Nilai Paparan: ujian (0) (0) (0) = 1 ujian (0) (0) (1) = 2 ujian (0) (1) (0) = 3 ujian (0) (1) (1) = 4 ujian (0) (2) (0) = 5 ujian (0) (2) (1) = 6 ujian (1) (0) (0 ) = 7 ujian (1) (0) (1) = 8 ujian (1) (1) (0) = 9 ujian (1) (1) (1) = 10 ujian (1) (2) (0) = 11 ujian (1) (2) (1) = 12

Artikel menarik...