2. Massiv elementiga murojaat qilish
Massivning elementlariga murojaat indekslari orqali bo’ladi. Indeks sifatida butun turdagi o’zgaruvchilardan foydalanish mumkin. Xaqiqiy turdagi (float, double) qiymatlar to’plami cheksiz bo’lganligi sababli ular indeks sifatida ishlatilmaydi.
C++tilida indeks doimo 0 dan boshlanadi va uning eng katta qiymati massiv e’lonidagi uzunlikdan bittaga kam bo’ladi.
Massiv e’loni quyidagicha bo’ladi:
[]={boshlan^ich qiymatlar}.
Bu yerda - o’zgarmas ifoda (konstanta).
Misol:int list[10];
Bu yerda nomli massiv elementlari 10 ta bo’lsa, uning elementlari list[0], list[1], list[2],...list[9] bo’ladi, boshqacha aytganda massiv elementlari 10 ta:
Agar list[5]=34; bo’lsa
34 qiymati massivning 5-elementiga joylashtiriladi:
Bu yerda i butun turdagi o’zgaruvchi: list[3]=63;
Buni quyidagicha tushunish mumkin i=3; list[i]=63;
Agar i ning qiymati 4 ga teng bulsin, indeks ifada xam bulishi mumkin:
list[2*i-3]=58;
bu yerda 58 qiymatini massivning list[5] elementiga yuklaniyapti chunki, 2*i-3 ning qiymati 5 ga teng, operatorda birinchi indeks ichidagi ifoda bajariladi.
Quyidagi misollarni ko’raylik:
list[3]=10;
list[6]=35;
list[5]= list[3]+list[6];
YUqoridagi misolda birinchi list massivining uchinchi elementiga 10 qiymatini uzlashtiriyapti massivning oltinchi elementiga 35 qiymatini o’zlashtiriyapti va massivning uchinchi va oltinchi elementlari yigindisi massivning beshinchi elementiga yuklanyapti:
Xuddi shuningdek massivni quyidagicha e’lon qilish mumkin: const int ARRAY_SIZE = 10; int list[ARRAY_SIZE];
bu yerda birinchi o’rinda butun turdagi o’zgarmas e’lon qiliniyapti va massiv e’lon qilinib o’lchamlari urnatiliyapti.
3. Ko’p o’lchamli massivlar
C++tilida massivlar elementining turiga cheklovlar kuyilmaydi, lekin bu turlar chekli o’lchamdagi ob’ektlarning turi bulishi kerak. CHunki kompilyator massivning xotiradan kancha joy (bayt) egallashini xisoblay olishi kerak. Xususan, massiv komponentasi massiv bulishi mumkin («vektorlar-vektori»), natijada matritsa deb nomlanuvchi ikki o’lchamli massiv xosil bo’ladi.
Agar matritsaning elementi xam vektor bo’lsa, uch o’lchamli mas-sivlar - kub xosil bo’ladi. SHu yo’l bilan echilayotgan masalaga bog’liq ravishda ixtiyoriy o’lchamdagi massivlarni yaratish mumkin.
Ikki o’lchamli massivning sintaksisi quyidagi ko’rinishda bo’ladi:
[] []
Masalan, 10x20 o’lchamli xaqiqiy sonlar massivining e’loni:
float a[10][20];
E’lon qilingan A matritsani ko’rinishi quyidagi rasmda keltirilgan.
Endi adres nuqtai - nazaridan ko’p o’lchamli massiv element-lariga murojaat qilishni ko’raylik. Quyidagi e’lonlar berilgan bulsin:
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 e’lon qilingan, ikkinchisida uch o’lchamli - 3 ta 2x2 matritsadan iborat bo’lgan massiv e’lon qilingan. Uning elementlariga murojaat sxemasi:
Do'stlaringiz bilan baham: |