|
Merujuk elemen tatasusunan
Kebanyakan kegunaan tatasusunan datang daripada fakta bahawa elemennya boleh diakses secara individu.
Cara untuk melakukannya ialah dengan menggunakan indeks untuk menomborkan elemen.
INGAT!
BILANGAN ARRAY DALAM C BERMULA DARI SIFAR.
(Ini adalah wajib — anda mesti bermula dari awal. Ini amat penting untuk diingati)
Contoh mengakses tatasusunan A:
x = (A[3] + 5)*A[1]; // baca nilai A[3] dan A[1]
A[0] = x + 6; // tulis nilai baharu kepada A[0]
Mari kita analisis atur cara untuk bekerja dengan elemen tatasusunan.
#include <iostream>
menggunakan ruang nama std;
utama()
{
int i=1,A[5];
A[0] = 23; //kepada setiap 5 elemen tatasusunan (indeks dari 0 hingga 4)
A[1] = 12; //tulis nilai tertentu
A[2] = 7;
A[3] = 43;
A[4] = 51;
A[2] = A[i] + 2*A[i-1] + A[2*i]; //ubah nilai elemen dengan indeks 2 kepada hasil ungkapan
//kerana i=1, kemudian menggantikan nilai pembolehubah i ke dalam ungkapan yang kita dapat
//ungkapan seterusnya A[2] = A[i] + 2*A[0] + A[2];
cout << A[2]+A[4];
}
Hasil daripada pelaksanaan program ini, nilai elemen tatasusunan dengan indeks 2 bersamaan dengan 116 akan muncul pada skrin. Seperti yang anda boleh lihat daripada contoh, kita boleh mengakses mana-mana elemen tatasusunan. Dan juga mengira bilangan elemen yang diperlukan menggunakan pelbagai formula (contohnya, seperti dalam program A[i-1] atau A[2*i], dalam kes ini, indeks elemen akan dikira dan bergantung pada nilai i.)
Mari kita lihat contoh program
#include<iostream>
menggunakan ruang nama std;
utama()
{
const int N = 5;
int A[N];
x = 1;
cout << A[x-3]; //rujukan kepada elemen A[-2]
A[x+4]=A[x]+A[2*(x+1)]; //selepas menggantikan x ke dalam ungkapan dan pengiraan, kita mendapat baris berikut: A[5] = A[1]+A[ 4];
...
}
Kerana tatasusunan diisytiharkan dengan 5 elemen, yang bermaksud elemen akan diberi nombordari 0 hingga 4. Kami melihat bahawa atur cara mengakses elemen yang tidak wujud: A[-2] dan A[5]
Ternyata program itu melangkaui batas tatasusunan
Array di luar sempadan sedang mengakses elemen dengan indeks yang tidak wujud dalam tatasusunan.
Dalam kes sedemikian, program biasanya ranap dengan ralat masa jalan
Mari cuba bekerja dengan elemen tatasusunan sendiri. Selesaikan tugas
|
Lelaran pada elemen tatasusunan
Apabila bekerja dengan tatasusunan, anda biasanya perlu bekerja dengan semua elemen tatasusunan sekaligus.
Lelaran ke atas elemen terdiri daripada melalui semua elemen tatasusunan dan melaksanakan operasi yang sama pada setiap elemen.< kod>
Untuk melakukan ini, selalunya gelung dengan pembolehubah digunakan, yang berubah daripada 0 kepada N-1 ( N bilangan elemen tatasusunan ).
...
const int N = 10;
int A[N];
untuk (i = 0; i < N; i++)
{
// tindakan pada elemen A[i]
}
...
Dalam gelung yang ditentukan, pembolehubah i akan mengambil nilai 0, 1, 2, ..., N-1 . Iaitu, pada setiap langkah gelung, kami mengakses elemen tatasusunan khusus dengan indeks i .
Oleh itu, sudah cukup untuk menuliskan perkara yang perlu dilakukan dengan satu elemen tatasusunan A[i] dan meletakkan tindakan ini di dalam gelung sedemikian.
Tugas
Isi tatasusunan dengan N nombor asli yang pertama. Itu. pada penghujung program, elemen tatasusunan harus menjadi sama:
A[0] = 1;
A[1] = 2;
A[2] = 3;
...
A[N-1] = N;
Ia adalah mudah untuk melihat corak: nilai elemen tatasusunan mestilah lebih besar sebanyak 1 daripada indeks elemen.
Kitaran akan kelihatan seperti ini:
untuk (i=0; i<N; i++)
{
A[i] = i+1;
}
|