|
Reja: Massiv. Massiv tushunchasi
|
bet | 2/6 | Sana | 04.12.2023 | Hajmi | 27,81 Kb. | | #111121 |
Bog'liq 931-22 gruh talabasi Sadullayev Danyormassiv toifasi> <massiv nomi> [o’lchovi];
Bu ko’rinishga xususiy o’zgaruvchi deyiladi, chunki uning qiymati massivning aloxida elementidir.
Massiv berilishiga ko’ra bir, ikki, uch va ko’p o’lchovli bo’lishi mumkin.
Massivga murojat bevosita va bilvosita asosda bo’ladi:
int a[5] –to’g’ridan –to’g’ri murojat
a[i]- bilvosita murojat. Bu erda i o’zgaruvchining qiymatiga bog’liq ravishda a massivining barcha elementlariga murojat qilish imkoni mavjudligini bildiradi.
Har doim indeks 0 dan boshlanadi.
Masalan: Bizga char tipidagi m nomli massiv va uni 4 ta elementi mavjud bo’lsin:
m[0] 4
m[1] 45
m[2] 100
m[3] 37
bu erda elementga murojaat qilish uchun massiv nomi va [ ] qavs ichida element indeksi yoziladi. m– massiv nomi. [ ] – indeks ko’rsatiladi.
Massivlar bir xil turdagi (double, float, int va h.k.) elementlar guruhidan iborat bo’ladi.
Kompilyator e`lon qilingan massivdan uning elementlari tipi va ularning soni to’g’risida ma`lumotlarga ega bo’lishi kerak.
Massiv elementlarining tipi funktsiyaga va void tipiga taaluqli bo’lmasligi kerak.
Massivni e`lon qilishda quyidagi xollardagina indeksli ifodani tushirib qoldirish mumkin:
- massiv funktsiyaning formal parametri sifatida e`lon qilinganda;
- e`lon qilingan massiv boshqa fayldagi aniq massivga yo’llangan bo’lsa. Massivlar berilishiga ko’ra:
bir o’lchamli : int a[5]
ikki o’lchamli: int a[5][4]
uch o’lchamli: int a[5][4][6] va ko’p o’lchovli bo’lishi mumkin.
Bir o’lchovli massivlar
Qavs ichidagi indeks butun son yoki butun songa olib keluvchi ifoda bo’lishi mumkin. Massivlarni bir necha xil ko’rinishda yozish mumkin:
char name [20];
int grades [125]
float income [30]
double tel [1500]
Bu erda birinchi massiv nomi 20 elementdan iboratligi va massiv elementlariga murojat name[0], name[1],….. name[19].
Ikkinchi grades massivi 125 ta butun sonlardan iboratligi va murojat grades[0], grades[1], grades[3],…, grades[124].
Uchinchi massiv 30 ta xaqiqiy sonlardan iboratligi va murojat income[0], income[2],…..income[29].
To’rtinchi massiv 1500 ta ikki martalab aniqlikda bo’lgan haqiqiy sonlardir.
Masalan: yuqorida qo’llanilgan char tipidagi m massivini e`lon qilaylik.
char m[4]; bu erdagi 4 soni massivdagi elementlar miqdorini bildiradi.
Bir necha massivni e`londa bersak ham bo’ladi.
int m1[4], m2[99], k, l=0;
Masiv elementlari dastur davomida initsializatsiya qilishimiz mumkin, yoki boshlang’ich qiymatlarni e`lon vaqtida, { } qavslar ichida ham bersak bo’ladi. { } qavslardagi qiymatlar massiv initsializatsiya ro’yxati deyiladi.
int n[5] = {3, 5, -33, 5, 90};
YUqorida birinchi elementning qiymati 3, ikkinchisiniki 5 va x.k. oxirgi beshinchi element qiymati esa 90 bo’ladi.
{ } qavslar ichida berilgan boshlang’ich qiymatlar soni massivdagi elementlar sonidan katta bo’lmasligi kerak, aks holda sintaksis hatosi vujudga keladi.
Masalan:
Char k[3]={3,65,4,-76,90} //xato!!
Usta elementdan iborat massivga 5 dona boshlang’ich qiymat berilmoqda, bu xatodir.
Boshqa bir misol
Int w[]={3, 7, 90, 78};
w nomli massiv e`lon qilindi, lekin [ ] qavslar ichida massivdagi elementlar soni berilmadi.
Bunday holda necha elementga joy ajratishni kompilyator { } qavslar ichidagi boshlang’ich qiymatlarga qarab biladi. Demak, yuqoridagi misolda massivimiz 4 dona elementdan iborat ekan.
|
| |