Dalam tutorial ini, kita akan belajar bekerja dengan tatasusunan. Kami akan belajar menyatakan, menginisialisasi, dan mengakses elemen array dalam pengaturcaraan C ++ dengan bantuan contoh.
Dalam C ++, array adalah pemboleh ubah yang dapat menyimpan beberapa nilai dari jenis yang sama. Sebagai contoh,
Anggap sebuah kelas mempunyai 27 pelajar, dan kita perlu menyimpan nilai mereka semua. Daripada membuat 27 pemboleh ubah berasingan, kita hanya boleh membuat susunan:
double grade(27);
Di sini, gred adalah tatasusunan yang dapat memuat maksimum 27 elemen double
jenis.
Dalam C ++, ukuran dan jenis susunan tidak dapat diubah setelah pengisytiharannya.
Deklarasi Array C ++
dataType arrayName(arraySize);
Sebagai contoh,
int x(6);
Di sini,
int
- jenis elemen yang akan disimpan- x - nama tatasusunan
6
- ukuran susunan
Akses Elemen dalam C ++ Array
Dalam C ++, setiap elemen dalam array dikaitkan dengan nombor. Nombor tersebut dikenali sebagai indeks tatasusunan. Kita boleh mengakses elemen array dengan menggunakan indeks tersebut.
// syntax to access array elements array(index);
Pertimbangkan susunan x yang telah kita lihat di atas.

Beberapa Perkara yang Perlu Diingat:
- Indeks array bermula dengan
0
. Maksud x (0) adalah elemen pertama yang disimpan pada indeks0
. - Sekiranya ukuran array
n
, elemen terakhir disimpan pada indeks(n-1)
. Dalam contoh ini, x (5) adalah elemen terakhir. - Elemen array mempunyai alamat berturut-turut. Sebagai contoh, anggap alamat permulaan
x(0)
ialah 2120d. Kemudian, alamat elemen seterusnyax(1)
adalah 2124d, alamatx(2)
akan menjadi 2128d dan seterusnya.
Di sini, ukuran setiap elemen dinaikkan sebanyak 4. Ini kerana ukurannyaint
adalah 4 bait.
Permulaan Array C ++
Dalam C ++, mungkin untuk memulakan array semasa deklarasi. Sebagai contoh,
// declare and initialize and array int x(6) = (19, 10, 8, 17, 9, 15);

Kaedah lain untuk memulakan array semasa pengisytiharan:
// declare and initialize an array int x() = (19, 10, 8, 17, 9, 15);
Di sini, kami belum menyebutkan ukuran array. Dalam kes sedemikian, penyusun mengira ukurannya secara automatik.
Array C ++ Bersama Anggota Kosong
Dalam C ++, jika array mempunyai ukuran n
, kita dapat menyimpan hingga n jumlah elemen dalam array. Walau bagaimanapun, apa yang akan berlaku sekiranya kita menyimpan kurang daripada n bilangan elemen.
Sebagai contoh,
// store only 3 elements in the array int x(6) = (19, 10, 8);
Di sini, susunan x mempunyai ukuran 6
. Walau bagaimanapun, kami telah memulakannya dengan hanya 3 elemen.
Dalam kes sedemikian, penyusun memberikan nilai rawak ke tempat yang tinggal. Sering kali, nilai rawak ini hanyalah 0
.

Bagaimana cara memasukkan dan mencetak elemen larik?
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: Memaparkan 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; )
Pengeluaran
Nombornya adalah: 7 5 6 12 35 Nombor-nombor tersebut adalah: 7 5 6 12 35
Di sini, kami telah menggunakan for
gelung untuk berulang dari i = 0
ke i = 4
. Dalam setiap lelaran, kami telah mencetak numbers(i)
.
Kami sekali lagi menggunakan julat berdasarkan gelung untuk mencetak elemen array. Untuk mengetahui lebih lanjut mengenai gelung ini, periksa C ++ Ranged for Loop.
Catatan: Dalam gelung berdasarkan julat kami, kami telah menggunakan kod const int &n
dan bukan int n
sebagai perisytiharan julat. Walau bagaimanapun, const int &n
ini lebih disukai kerana:
- Dengan
int n
hanya menyalin elemen array ke pemboleh ubah n semasa setiap lelaran. Ini tidak cekap ingatan.
Namun, & n, menggunakan alamat memori elemen array untuk mengakses data mereka tanpa menyalinnya ke pemboleh ubah baru. Ini cekap ingatan. - Kami hanya mencetak elemen array, bukan mengubahnya. Oleh itu, kami menggunakan
const
agar tidak mengubah nilai array secara tidak sengaja.
Contoh 2: Ambil Input dari Pengguna dan Simpannya dalam 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; )
Pengeluaran
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 =0
andcount = 0
. - Then we used a range based
for
loop to print the array elements. In each iteration of the loop, we add the current array element to sum. - Kami juga meningkatkan nilai hitungan
1
dalam setiap lelaran, sehingga kami dapat memperoleh ukuran array pada akhir loop untuk. - Setelah mencetak semua elemen, kami mencetak jumlah dan purata semua nombor. Purata nombor diberikan oleh
average = sum / count;
Catatan: Kami menggunakan for
gelung berkisar dan bukan for
gelung biasa .
for
Gelung normal memerlukan kita menentukan bilangan lelaran, yang diberikan berdasarkan ukuran array.
Tetapi for
gelung jarak jauh tidak memerlukan spesifikasi seperti itu.
Array C ++ Luar Batas
Sekiranya kita menyatakan susunan ukuran 10, maka susunan akan mengandungi unsur dari indeks 0 hingga 9.
Namun, jika kita cuba mengakses elemen pada indeks 10 atau lebih dari 10, itu akan menghasilkan Perilaku Tidak Ditentukan.