«Aniq fanlar» kafedrasi fanidan ma’ruzalar matni


Mavzu: Ko`p o`lchovli massivlar


Download 1.15 Mb.
bet28/161
Sana02.01.2022
Hajmi1.15 Mb.
#200874
1   ...   24   25   26   27   28   29   30   31   ...   161
Bog'liq
dasturlash fanidan maruzalar matni 2

Mavzu: Ko`p o`lchovli massivlar.

Reja:

1. Ko‘p o‘lchamli statik massivlar

2. Ko‘p o‘lchamli massivlarni initsializatsi.



Tayanch iboralar: Berilganlar massivi tushunchasi, ko‘p o‘lchamli statik massivlar, ko‘p o‘lchamli massivlarni initsializatsiyalash, dinamik massivlar , funksiya,massivlar .
Ko‘p o‘lchamli statik massivlar: C++ tilida massivlar elementining turiga cheklovlar qo‘yilmaydi, lekin bu turlar chekli o‘lchamdagi obyektlarning turi bo‘lishi kerak. Chunki kompilyator massivning xotiradan qancha joy (bayt) egallashini hisoblay olishi kerak. Xususan, massiv komponentasi massiv bo‘lishi mumkin, ya’ni «vektorlar-vektori» natijada matritsa deb nomlanuvchi ikki o‘lchamli massiv hosil bo‘ladi.

Agar matritsaning elementi ham vektor bo‘lsa, uch o‘lchamli massivlar – kub hosil bo‘ladi. Shu yo‘l bilan yechilayotgan masalaga bog‘liq ravishda ixtiyoriy o‘lchamdagi massivlarni yaratish mumkin.

Ikki o‘lchamli massivning sintaksisi quyidagi ko‘rinishda bo‘ladi:

[] []

Masalan, 10 x 20 o‘lchamli haqiqiy sonlar massivining e’loni:

float A[10] [20] ;

E’lon qilingan A matritsani ko‘rinishi 7.2-rasmda keltirilgan.

J

a: (a, a … … a, a,),



a: (a, a … … a, a),

i a: (…, …, … a…, …, …),



a: (a, a… … a, a).

7.2-rasm. Ikki o‘lchamli massivning xotiradagi joylashuvi

Endi adres nuqtai – nazaridan ko‘p o‘lchamli massiv elementlariga murojaat qilishni ko‘raylik. Quyidagi e’lonlar berilgan bo‘lsin:

int a[3][2];

float b[2][2][2];

Birinchi e’londa ikki o‘lchamli massiv, ya’ni 2 satr va 3 ustundan iborat matritsa elon qilingan, ikkinchisida uch o‘lchamli – 3 ta 2x2 magritsadan iborat bo’lgan massiv e’lon qlingan.Uning elementlariga murojaat sxemasi:

Ades Ko’rsatkichlar massivi Qiymatlar






a
a[0]

a[1]

a[2]

a[0][0]

a[0][1]

a[1][0]

a1][1]






7.3 rasm. Ikki o’lchamli elementlariga murojaat

Bu yerda a[i] ko‘rsatkichda i-chi satrning boshlang‘ich adresi joylashadi, massiv elementiga a[i][j] ko‘rinishidagi asosiy murojaatdan tashqari vositali murojaat qilish mumkin: *(*(a+i)+j) yoki *(a[j]+j).

Uch o‘lchamli massivning xotirada tashkil bo‘lishi

Massiv elementlariga murojaat qilish uchun nomdan keyin kvadrat qavsda har bir o‘lcham uchun indeks yozilishi kerak, masalan b[i][j][k]. Bu elementga vositali murojaat ham qilish mumkin va uning variantlari:

*(*(*(b+i)+j)+)k) yoki *(*(b[i]+j)+k) yoki *(b[i][j] +k);




Download 1.15 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   161




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling