«Aniq fanlar» kafedrasi fanidan ma’ruzalar matni
Mavzu: Ko`p o`lchovli massivlar
Download 1.15 Mb.
|
dasturlash fanidan maruzalar matni 2
- Bu sahifa navigatsiya:
- Ko‘p o‘lchamli statik massivlar
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
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: |
ma'muriyatiga murojaat qiling