Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

C++ Array Multidimensi

Array Multidimensi C++

Dalam tutorial ini, kita akan belajar tentang array multidimensi di C++. Lebih khusus lagi, cara mendeklarasikan, mengakses, dan menggunakannya secara efisien dalam program kami.

Dalam C++, kita dapat membuat array dari array, yang dikenal sebagai array multidimensi. Misalnya:

int x[3][4];

Di sini, x adalah array dua dimensi. Itu dapat menampung maksimal 12 elemen.

Kita dapat menganggap array ini sebagai tabel dengan 3 baris dan setiap baris memiliki 4 kolom seperti yang ditunjukkan di bawah ini.

Array tiga dimensi juga bekerja dengan cara yang sama. Misalnya:

float x[2][4][3];

Array ini x dapat menampung maksimal 24 elemen.

Kita dapat mengetahui jumlah total elemen dalam array hanya dengan mengalikan dimensinya:

2 x 4 x 3 = 24

Inisialisasi Array Multidimensi

Seperti array normal, kita dapat menginisialisasi array multidimensi dengan lebih dari satu cara.

1. Inisialisasi array dua dimensi

int test[2][3] = {2, 4, 5, 9, 0, 19};

Metode di atas tidak disukai. Cara yang lebih baik untuk menginisialisasi array ini dengan elemen array yang sama diberikan di bawah ini:

int  test[2][3] = { {2, 4, 5}, {9, 0, 19}};

Array ini memiliki 2 baris dan 3 kolom, itulah sebabnya kami memiliki dua baris elemen dengan masing-masing 3 elemen.


2. Inisialisasi array tiga dimensi

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, 5, 1, 4, 9};

Ini bukan cara yang baik untuk menginisialisasi array tiga dimensi. Cara yang lebih baik untuk menginisialisasi array ini adalah:

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}, {5, 1, 4, 9} }
                 };

Perhatikan dimensi array tiga dimensi ini.

Dimensi pertama memiliki nilai 2 . Jadi, dua elemen yang menyusun dimensi pertama adalah:

Element 1 = { {3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2} }
Element 2 = { {13, 4, 56, 3}, {5, 9, 3, 5}, {5, 1, 4, 9} }

Dimensi kedua memiliki nilai 3 . Perhatikan bahwa setiap elemen dari dimensi pertama masing-masing memiliki tiga elemen:

{3, 4, 2, 3}, {0, -3, 9, 11} and {23, 12, 23, 2} for Element 1.
{13, 4, 56, 3}, {5, 9, 3, 5} and {5, 1, 4, 9} for Element 2.

Akhirnya, ada empat int angka di dalam setiap elemen dimensi kedua:

{3, 4, 2, 3}
{0, -3, 9, 11}
... .. ...
... .. ...

Contoh 1:Array Dua Dimensi

// C++ Program to display all elements
// of an initialised two dimensional array

#include <iostream>
using namespace std;

int main() {
    int test[3][2] = {{2, -5},
                      {4, 0},
                      {9, 1}};

    // use of nested for loop
    // access rows of the array
    for (int i = 0; i < 3; ++i) {

        // access columns of the array
        for (int j = 0; j < 2; ++j) {
            cout << "test[" << i << "][" << j << "] = " << test[i][j] << endl;
        }
    }

    return 0;
}

Keluaran

test[0][0] = 2
test[0][1] = -5
test[1][0] = 4
test[1][1] = 0
test[2][0] = 9
test[2][1] = 1

Pada contoh di atas, kita telah menginisialisasi int dua dimensi array bernama test yang memiliki 3 "baris" dan 2 "kolom".

Di sini, kami telah menggunakan for . bersarang loop untuk menampilkan elemen array.

  • loop luar dari i == 0 ke i == 2 mengakses baris array
  • loop dalam dari j == 0 ke j == 1 mengakses kolom larik

Terakhir, kami mencetak elemen array di setiap iterasi.


Contoh 2:Mengambil Input untuk Array Dua Dimensi

#include <iostream>
using namespace std;

int main() {
    int numbers[2][3];

    cout << "Enter 6 numbers: " << endl;

    // Storing user input in the array
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            cin >> numbers[i][j];
        }
    }

    cout << "The numbers are: " << endl;

    //  Printing array elements
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            cout << "numbers[" << i << "][" << j << "]: " << numbers[i][j] << endl;
        }
    }

    return 0;
}

Keluaran

Enter 6 numbers: 
1
2
3
4
5
6
The numbers are:
numbers[0][0]: 1
numbers[0][1]: 2
numbers[0][2]: 3
numbers[1][0]: 4
numbers[1][1]: 5
numbers[1][2]: 6

Di sini, kami telah menggunakan for . bersarang loop untuk mengambil input dari array 2d. Setelah semua input diambil, kami telah menggunakan for bersarang lainnya loop untuk mencetak anggota array.


Contoh 3:Array Tiga Dimensi

// C++ Program to Store value entered by user in
// three dimensional array and display it.

#include <iostream>
using namespace std;

int main() {
    // This array can store upto 12 elements (2x3x2)
    int test[2][3][2] = {
                            {
                                {1, 2},
                                {3, 4},
                                {5, 6}
                            }, 
                            {
                                {7, 8}, 
                                {9, 10}, 
                                {11, 12}
                            }
                        };

    // Displaying the values with proper index.
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            for (int k = 0; k < 2; ++k) {
                cout << "test[" << i << "][" << j << "][" << k << "] = " << test[i][j][k] << endl;
            }
        }
    }

    return 0;
}

Keluaran

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

Konsep dasar pencetakan elemen larik 3d mirip dengan larik 2d.

Namun, karena kami memanipulasi 3 dimensi, kami menggunakan loop for bersarang dengan 3 loop total, bukan hanya 2:

  • loop luar dari i == 0 ke i == 1 mengakses dimensi pertama array
  • perulangan tengah dari j == 0 ke j == 2 mengakses dimensi kedua array
  • loop terdalam dari k == 0 ke k == 1 mengakses dimensi ketiga array

Seperti yang bisa kita lihat, kompleksitas array meningkat secara eksponensial dengan peningkatan dimensi.


Bahasa C

  1. C# Array
  2. C# Array Multidimensi
  3. C# Array Bergerigi
  4. Operator C++
  5. Komentar C++
  6. Melewati Array ke Fungsi dalam Pemrograman C++
  7. Java Salin Array
  8. Array di C++ | Nyatakan | Inisialisasi | Contoh Pointer ke Array
  9. C++ Alokasi Dinamis Array dengan Contoh
  10. MATLAB - Array