4.4 Satrlar Massivi
Programmalashtirishda satr massivdan foydalanish kam uchraydigan hole mas.Satrlar massivi bu ikki o`lchovli belgili massiv. Qator kattaligi satrlar sonini bildiradi va ustun kattaligi satr uzunligi maksimumini aniqlaydi.91
Quyidagi kod, har birinin maksimum uzunligi 9 belgi bo`lgan, 12 ta satrli massivni e’lon qiladi, NULL belgi qo`shiladi.
char monthnames[l2][10]; //declare array of 12 strings
Individual satrga murojaat qilish oson, ya’ni siz uni qator nomerini aniqlab bajarishingiz mumkin.
Ikki o`lchovli massiv bir o`lchovli massiv kabi initsalizatsiya qilinishi mumkin. Masalan,
char monthnames[l2][10]= { "January","February","March","April","May",
"June","July","August","September",
"October","November","December"};
Bu yerda monthnames[0] "January"ga murojaat qiladi va monthnames[3][2]"April" satrining r belgisiga murojaat qiladi.
9.5 Ko`po`lchovli massivlar__________________________________
C++ ikkidan ham yuqori o`lchovli massivlarga ega. Aniq chegarasi foydalanilayotgan kompilyator bilan aniqlanadi.
Ko`po`lchovli massivni e’lon qilinish sintaksisi quyida berilgan:
type array-name[Sizel] [Size2] [Size3] ... [SizeN];
Massivning initsializatsiyasi umumiy shakli, quyida berilganidek, boshqa o`garuvchilarnikidek:
type array-name[Sizel] [Size2] [Size3] ... [SizeN] = {value-list};
Qiymatlar ro`yxati bu vergul bilan ajratilgan qiymatlar ro`yxati bo`lib tipiga mosdir.
Birinchi qiymat massivning birinchi positsiyasida joylashtiriladi, ikkinchi qiymat ikkinchi pozitsiyada va hokazo. Eslatamizki nuqta va vergul } dan keyin keladi.
O`lchovi uchdan yuqori massivlar umuman olganda ishlatilmaydi chunki ular uchun katta miqdorda xotira talab qilinadi. Ko`po`lchovli massivlarda har bir indeksni hisoblash kompyuter vaqtini oladi. Bu ko`po`lchovli massiv elementlariga murojaat qilish bir oqlchovli massiv elementlariga murojaat qilishdan sekinroq ekanini bildiradi. Ko`po`lchovli massiv funksiyaga berilganida siz hamma o`lchovlarni e’lon qilihingiz kerak lekin ko`p o`lchovlarni qoldirishingiz kerak bo`ladi. Masalan, agar siz arrmassivni quyidagicha e’lon qilsangiz
int arr[3][5][4][6];
arr ni qabul qiluvchi funcl( ) funksiya quyida berilganidek korinishida bo`lishi kerak:
void funcl (int arr[][5][4][6])
{
- - - - - - - - 92
- - - - - - - - // funksiya tanasi
}
Albatta agar siz xohlasangiz birinchi o`lchovni kiritishingiz mumkin. C++ da ko`rsatkichlar va massivlar bir biri bilan bog`liq.Inedkssiz massiv bu massivning birinchi elementiga ko`rsatkich.
Do'stlaringiz bilan baham: |