Dalam tutorial ini, kita akan belajar bekerja dengan array. Kita akan belajar mendeklarasikan, menginisialisasi, dan mengakses elemen array dalam pemrograman C ++ dengan bantuan contoh.
Di C ++, array adalah variabel yang dapat menyimpan banyak nilai dengan tipe yang sama. Sebagai contoh,
Misalkan sebuah kelas memiliki 27 siswa, dan kita perlu menyimpan nilai semuanya. Alih-alih membuat 27 variabel terpisah, kita cukup membuat sebuah array:
double grade(27);
Di sini, nilai adalah larik yang dapat menampung maksimal 27 elemen doubletipe.
Di C ++, ukuran dan tipe array tidak bisa diubah setelah deklarasinya.
Deklarasi Array C ++
dataType arrayName(arraySize);
Sebagai contoh,
int x(6);
Sini,
int- jenis elemen yang akan disimpan- x - nama array
6- ukuran array
Akses Elemen dalam C ++ Array
Di C ++, setiap elemen dalam array dikaitkan dengan angka. Angka tersebut dikenal sebagai indeks array. Kita dapat mengakses elemen array dengan menggunakan indeks tersebut.
// syntax to access array elements array(index);
Pertimbangkan array x yang telah kita lihat di atas.
Elemen array di C ++
Beberapa Hal yang Perlu Diingat:
- Indeks array dimulai dengan
0. Artinya x (0) adalah elemen pertama yang disimpan di indeks0. - Jika ukuran sebuah array adalah
n, elemen terakhir disimpan di index(n-1). Dalam contoh ini, x (5) adalah elemen terakhir. - Elemen array memiliki alamat yang berurutan. Misalnya, alamat awal
x(0)adalah 2120d. Kemudian, alamat elemen berikutnyax(1)adalah 2124d, alamatnyax(2)adalah 2128d dan seterusnya.
Di sini, ukuran setiap elemen bertambah 4. Ini karena ukurannyaintadalah 4 byte.
C ++ Inisialisasi Array
Di C ++, dimungkinkan untuk menginisialisasi array selama deklarasi. Sebagai contoh,
// declare and initialize and array int x(6) = (19, 10, 8, 17, 9, 15);
C ++ Elemen array dan datanya
Metode lain untuk menginisialisasi array selama deklarasi:
// declare and initialize an array int x() = (19, 10, 8, 17, 9, 15);
Di sini, kami belum menyebutkan ukuran array. Dalam kasus seperti itu, kompilator secara otomatis menghitung ukurannya.
C ++ Array Dengan Anggota Kosong
Di C ++, jika sebuah array memiliki ukuran n, kita dapat menyimpan hingga n jumlah elemen dalam array. Namun, apa yang akan terjadi jika kita menyimpan kurang dari n jumlah elemen.
Sebagai contoh,
// store only 3 elements in the array int x(6) = (19, 10, 8);
Di sini, array x memiliki ukuran 6. Namun, kami telah menginisialisasi hanya dengan 3 elemen.
Dalam kasus seperti itu, kompilator memberikan nilai acak ke tempat yang tersisa. Seringkali, nilai acak ini sederhana 0.
Anggota array kosong secara otomatis diberi nilai 0
Bagaimana cara memasukkan dan mencetak elemen array?
int mark(5) = (19, 10, 8, 17, 9) // change 4th element to 9 mark(3) = 9; // take input from the user // store the value at third position cin>> mark(2); // take input from the user // insert at ith position cin>> mark(i-1); // print first element of the array cout <> mark(i-1);
Contoh 1: Menampilkan Elemen Array
#include using namespace std; int main() ( int numbers(5) = (7, 5, 6, 12, 35); cout << "The numbers are: "; // Printing array elements // using range based for loop for (const int &n : numbers) ( cout << n << " "; ) cout << "The numbers are: "; // Printing array elements // using traditional for loop for (int i = 0; i < 5; ++i) ( cout << numbers(i) << " "; ) return 0; )
Keluaran
Nomor-nomor tersebut adalah: 7 5 6 12 35 Nomor-nomor tersebut adalah: 7 5 6 12 35
Di sini, kami telah menggunakan forloop untuk beralih dari i = 0ke i = 4. Di setiap iterasi, kami telah mencetak numbers(i).
Kami kembali menggunakan rentang berbasis loop untuk mencetak elemen dari array. Untuk mempelajari lebih lanjut tentang loop ini, periksa C ++ Ranged for Loop.
Catatan: Dalam loop berbasis jangkauan kami, kami telah menggunakan kode dan const int &nbukan int nsebagai deklarasi rentang. Namun, const int &nlebih disukai karena:
- Menggunakan
int nhanya menyalin elemen array ke variabel n selama setiap iterasi. Ini tidak hemat memori.
& n, bagaimanapun, menggunakan alamat memori dari elemen array untuk mengakses datanya tanpa menyalinnya ke variabel baru. Ini hemat memori. - Kami hanya mencetak elemen array, bukan memodifikasinya. Oleh karena itu, kami menggunakan
constagar tidak secara tidak sengaja mengubah nilai-nilai array.
Contoh 2: Ambil Input dari Pengguna dan Simpan di Array
#include using namespace std; int main() ( int numbers(5); cout << "Enter 5 numbers: " << endl; // store input from user to array for (int i = 0; i > numbers(i); ) cout << "The numbers are: "; // print array elements for (int n = 0; n < 5; ++n) ( cout << numbers(n) << " "; ) return 0; )
Keluaran
Enter 5 numbers: 11 12 13 14 15 The numbers are: 11 12 13 14 15
Once again, we have used a for loop to iterate from i = 0 to i = 4. In each iteration, we took an input from the user and stored it in numbers(i).
Then, we used another for loop to print all the array elements.
Example 3: Display Sum and Average of Array Elements Using for Loop
#include using namespace std; int main() ( // initialize an array without specifying size double numbers() = (7, 5, 6, 12, 35, 27); double sum = 0; double count = 0; double average; cout << "The numbers are: "; // print array elements // use of range-based for loop for (const double &n : numbers) ( cout << n << " "; // calculate the sum sum += n; // count the no. of array elements ++count; ) // print the sum cout << "Their Sum = " << sum << endl; // find the average average = sum / count; cout << "Their Average = " << average << endl; return 0; )
Output
The numbers are: 7 5 6 12 35 27 Their Sum = 92 Their Average = 15.3333
In this program:
- We have initialized a double array named numbers but without specifying its size. We also declared three double variables sum, count, and average.
Here,sum =0andcount = 0. - Then we used a range based
forloop to print the array elements. In each iteration of the loop, we add the current array element to sum. - Kami juga meningkatkan nilai hitungan
1di setiap iterasi, sehingga kami bisa mendapatkan ukuran array pada akhir perulangan for. - Setelah mencetak semua elemen, kami mencetak jumlah dan rata-rata semua angka. Rata-rata angka diberikan oleh
average = sum / count;
Catatan: Kami menggunakan forloop jarak jauh daripada forloop normal .
forPerulangan normal mengharuskan kita menentukan jumlah iterasi, yang ditentukan oleh ukuran array.
Tetapi forloop jarak jauh tidak memerlukan spesifikasi seperti itu.
C ++ Array Di Luar Batas
Jika kita mendeklarasikan sebuah array berukuran 10, maka array tersebut akan berisi elemen dari indeks 0 hingga 9.
Namun, jika kita mencoba mengakses elemen pada indeks 10 atau lebih dari 10, ini akan menghasilkan Perilaku Tidak Terdefinisi.








