133
Massiv elementlari soni oldindan berilmasa, komplyator massiv elementlar
sonini boshlang‘ich qiymatlarga qarab aniqlaydi.
Ikki o‗lchovli massiv elementlari boshlang‘ich
qiymatlari oldindan
berilmasa, albatta, uning elementlar sonini oldindan berish kerak bo‗ladi. Ikki
o‗lchovli massiv elementlari soni aniq, lekin uning elementlarini boshlang‘ich
qiymatlari berilmaganda, massiv elementlarini shakllantirish.
#include
int main()
{ int a[3][3];
for(int i=0;i<=2;i++)
for(int j=0;j<=2;j++)
cin>>a[i][j];
return 0;
}
Misol: A(2,3) massiv berilgan uning elementlarini ikkiga ko‗paytirib
ekranga chiqaring.
Bu masala yechimini aniqlashda ham bir o‗lchovli massivlar kabi har bir
elementiga murojat qilib, har bir elementini ikkiga ko‗paytirish kerak.
#include
int main()
{ int a[3][2];
for(int i=0;i<=2;i++)
for(int j=0;j<=1;j++)
cin>>a[j][i];
for(int i=0;i<=2;i++)
{
for(int j=0;j<=1;j++)
cout<<2*a[j][i]<<‖ ‖;
cout<<‖\n‖; }
return 0;
}
Kiritish uchun ma‘lumot
1 2 3
4 5 6
Dastur natijasi
2 4 6
8 10 12
134
Ikki o‗lchovli massivlar yordamida C++ dasturlash tilida matematikani balki
boshqa sohalarning ham bir necha masalalarini hal etish mumkin.
Misol: A(n,n) matritsa berilgan uning asosiy dioganalidan yuqoridagi
elementlarini ikkiga ko‗paytirib ekranga chiqaring.
#include
int main()
{ int a[90][90];
int n,m; cout<<‖n=‖;
cin>>n; m=n;
for(int i=0;ifor(int j=0;jcin>>a[j][i];
for(int i=0;i{ m=m-i; j=0;
while(j<=m)
{ cout<<2*a[j][i]<<‖ ‖;
j++;
}
cout<<‖\n‖; }
return 0;
}
Kiritish uchun ma‘lumot
n=3
1 2 3
4 5 6
7 8 9
Dastur natijasi
2 4 6
8 10
14
Ikki o‗lchovli massiv elementlarining har birini tekshirish yoki ular ustida
amallar bajarish uchun ichma ich sikllardan foydalaniladi. Yuqoridagi masala
yechimida ikki o‗lchovli massivning barcha elementlari tekshirilmaydi shuning
uchun ichki siklning while yordamida yozish maqsadga muvofiq bo‘ladi. Masssiv
o‗lchami kattalashgan sayin uning elementlari uchun xotiradan ajratiladigan joy
hajmi juda tez o‗sadi. Masalan, 32 razryadli mashinada uch o‗lchamli float b [10]
[8] [10] massivi e‘lon qilingan bo‗lsa, u xotirada 10*10*8*4=3200 bayt joyni
egallaydi.
135
Agar shu massiv int b [10] [10] [10] [10] kabi to‗rt o‗lchamli ko‗rinishda
e‘lon qilinsa, xotiradan 40000 baytlik joyni band qilinadi. Demak,
massivning
o‗lchamlari soniga chegara qo‗yilmagan, agar xotira muammosiga duch kelinmasa.
n o‗lchamli massivning xotiradan egallaydigan joyi formulasi quyidagicha. Baytlar
soni =1-o‗lcham * 2-o‗lcham *…..* n-o‗lcham * turning baytlardagi o‗lchami.
Amalda uch o‗lchamli massivlardan ham juda kam foydalaniladi. Uch o‗lchamdan
yuqori o‗lchamli massisvlardan esa deyarli foydalanilmaydi.
Massivlarga oid masalalar yuqoridagi holatlar bo‗yicha C++ dasturlash tilida
tasvirlanadi.