Susunan C ++ (Dengan Contoh)

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 doublejenis.

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.

Unsur larik dalam C ++

Beberapa Perkara yang Perlu Diingat:

  • Indeks array bermula dengan 0. Maksud x (0) adalah elemen pertama yang disimpan pada indeks 0.
  • 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 seterusnya x(1)adalah 2124d, alamat x(2)akan menjadi 2128d dan seterusnya.
    Di sini, ukuran setiap elemen dinaikkan sebanyak 4. Ini kerana ukurannya intadalah 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);
Elemen Array C ++ dan datanya

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.

Anggota array kosong secara automatik diberikan nilai 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 forgelung untuk berulang dari i = 0ke 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 &ndan bukan int nsebagai perisytiharan julat. Walau bagaimanapun, const int &nini lebih disukai kerana:

  1. Dengan int nhanya 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.
  2. Kami hanya mencetak elemen array, bukan mengubahnya. Oleh itu, kami menggunakan constagar 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:

  1. 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 and count = 0.
  2. 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.
  3. Kami juga meningkatkan nilai hitungan 1dalam setiap lelaran, sehingga kami dapat memperoleh ukuran array pada akhir loop untuk.
  4. Setelah mencetak semua elemen, kami mencetak jumlah dan purata semua nombor. Purata nombor diberikan olehaverage = sum / count;

Catatan: Kami menggunakan forgelung berkisar dan bukan forgelung biasa .

forGelung normal memerlukan kita menentukan bilangan lelaran, yang diberikan berdasarkan ukuran array.

Tetapi forgelung 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.

Artikel menarik...