Massivlar
Massiv bir toifadagi elementlarning tartibli ketma – ketligi hisoblanadi. Massiv bironta nom va undagi elementlar toifasi orqali ifodalanadi.
Massivlar:
bir o’lchamli
ikki o’lchamli
ko’p o’lchamli
bo’lishi mumkin. 1 o’lchamli massivlar sodda bo’lib, undagi xar bir element xotirada ketma-ket joylashadi. Uning uchun xotiradan joy ajratilganda xar bir elementiga massivning toifasidan kelib chiqib sarflanadigan xotira xajmi elementlar soniga ko’paytiurilib topiladi.
Masalan, int a[n] massiv qaraladigan bo’lsa, uning bitta elementiga 4 bayt joy ketadigan bo’lsa, massiv uchun ajratiladigan xotira sarfi 4*n bayt shaklida hisoblanadi.
H=
H – bu massivga sarflanadigan xotira xajmi;
h – bu 1ta elementga ajratiladigan xotira xajmi
Ikki o’lchamli massivlarda bir nechta qator va bir nechta ustunlar mavjud bo’ladi. Ustun va qatorlar kesishgan joyda massivning elementi joylashgan bo’ladi u elementni massivning qator va ustun raqami bilan aniqlanadi. Masalan, beshinchi qator va uchinchi ustunda turgan B matritsaning elementi B[5][3] kabi belgilanadi. Massivlar ustida matematik amallarni bajarish mumkin.
Ikki o’lchovli massivlarni matrisalar deb ham atashadi. Matrisalar ham statik tuzilma hisoblanadi.
A00
|
A01
|
A02
|
…
|
A0m
|
A10
|
A11
|
A12
|
…
|
A1m
|
A20
|
A21
|
A22
|
…
|
A2m
|
…
|
…
|
…
|
…
|
…
|
An0
|
An1
|
An2
|
…
|
Anm
|
Chunki uni dasturda ifodalaganda, o’lchamini ko’rsatish kerak. Dastur ishga tushishidan oldin matrisaning satr va ustunlar soni va toifasini aniqlanishidan kelib chiqib kompyuter uning uchun xotiradan joy ajratadi. Matrisa elementlari xotirada ketma-ket yacheykalarda joylashtiriladi, garchi uning alohida satr elementlari mantiqan quyidagicha keltirilsada, bitta satr elementlari xotirada ketma-ket joylashtirilgandan keyin uning davomidan ikkinchi qator elementlari joylashtiriladi va uchunchi va x.k.
A00
|
A01
|
A02
|
…
|
A0m
|
A10
|
A11
|
A12
|
…
|
A1m
|
A20
|
A21
|
A22
|
…
|
A2m
|
Undan tashqari ma’lumotlar tuzilmasi sifatida massivlar ustida boshqa maxsus amallarni ham bajarish mumkin. Dasturda massiv ustida ishlash uchun avval uning toifasi va o’lchami e’lon qilinadi. Massivni e’lon qilish ikki xil usulda amalga oshirilishi mumkin.
Initsializatsiya qilmasdan e’lon qilish – bu holda massiv toifasi va nomi ko’rsatilib kvadrat qavs ichida uning elementlari soni ko’rsatiladi: int A[50].
Initsializatsiya qilish orqali e’lon qilish – bu holda massiv toifasi ko’rsatilib elementlariga qiymat o’zlashtiriladi. Masalan, A[5]={1,2,3,5,4}
Massiv elementlari bir toifaga tegishli bo’lgani uchun ular hotiradan bir xil hajmli joyni egallaydi va ular operativ hotirada joylashadi. Massiv dasturda foydalanilayotgan o’rniga qarab global yoki lokal bo’lishi mumkin.
Global turda bo’lganda dasturni boshida, ya’ni asosiy dastur tanasidan oldin, int main() dan oldin e’lon qilinadi, lokal turda esa dasturni kerakli qismida e’lon qilinadi. Lokal massivdan foydalanilganda uni chegaralari dastur davomida aniqlanadi va qism dasturdan tashqarida bu massivdan foydalanib bo’lmaydi.
Quyida matritsa quyi uchburchak elementlarini aniqlab ularni no’lga aylantiruvchi dastur kodi keltirilgan(C++ tilida ):
int main()
{ int n,m,i,j;
cin>>n>>m;
int a[n][m];
cout<<"kiriting: "<
for(i=0;i
for(j=0;j
cin>>a[i][j];}
for(i=0;i
for(j=0;j
if(i>j) a[i][j]=0;}
for(i=0;i
for(j=0;j
cout<
cout<
return 0;
getch();
}
Dastur natijasi:
Dostları ilə paylaş: |