Bir o’lchovli massivlar Bir o’lchovli massivlar

|
Bir o’lchovli massivlar
|
bet | 1/2 | Sana | 12.12.2023 | Hajmi | 18,54 Kb. | | #117272 |
Bog'liq Bir o’lchovli massivlar
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.
Bir o’lchovli massiv elementlarini kiritish.
1. cin>> a[i];
2. int w[]={3,7,90,78};
I. O’lchami ko’rsatilgan massiv elementlarini to’liq initsializatsiyalash:
int t[5]={-10,5,15,4,3};
Bunda 5 ta elementdan iborat bo’lgan t nomli bir o’lchamli massiv e`lon qilingan va uning barcha elementlariga boshlang’ich qiymatlar berilgan. Bu e`lon quyidagi e`lon bilan ekvivalent:
int t[5]; t[0] =-10; t[l]=5; t[2]=15; t[3]=4; t[4]=3;
II. O’lchami ko’rsatilgan massiv elementlarini to’liqmas initsializatsiyalash:
int t[5] = {-10,5,15};
Bu erda faqat massivning boshidagi uchta elementiga boshlang’ich qiymatlar berilgan. SHuni aytib o’tish keraki, massivning boshidagi yoki o’rtadagi elementlariga qiymatlar bermasdan, uning oxiridagi elementlarga boshlang’ich qiymat berish mumkin emas. Agarda massiv elementlariga boshlang’ich qiymat berilmasa, unda kelishuv bo’yicha static va extern modifikatori bilan e`lon qilingan massiv uchun elementlarning qiymati 0 soniga teng deb, avtomatik massivlar elementlarining boshlang’ich qiymatlari noma`lum hisoblanadi.
III. O’lchami ko’rsatilmagan massiv elementlarini to’liq initsializatsiyalash
int t[ ] = {-10, 5, 15, 4, 3};
Ushbu misolda massivni barcha elementlariga qiymatlar berilgan hisoblanadi, massiv uzunligi kompilyator tomonidan boshlang’ich qiymatlar soniga qarab aniqlanadi. Agarda massivni uzunligi berilmasa, boshlang’ich qiymati berilishi shart.
|
| |