O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov




Download 2,67 Mb.
Pdf ko'rish
bet86/164
Sana25.01.2024
Hajmi2,67 Mb.
#146073
1   ...   82   83   84   85   86   87   88   89   ...   164
Bog'liq
ALGORITMLASH VA DASTURLASH ASOSLARI

[][]; 
Ikki o‗lchovli massivlarni C++ dasturlash tilida e‘lon qilish uchun massiv 
turi, massiv nomi, massiv satrdagi elementlar soni va massiv ustunidagi elementlar 
soni beriladi. Agar a[5,2] massiv berilgan bo‘lsa, uni C++ dasturlash tilida a[2][5] 
ko‗rinishda e‘lon qilinadi. C++ dasturlash tilida massivlarni yozilishi, 
matematikadan bir oz farq qilinadi, ya‘ni ustun va satrlari joyi almashtiriladi. Ikki 
o‗lchovli massivlarni C++ dasturlash tilida e‘lon qilinishi. 
#include  
int main()
{ int a[10][10]; //butun turli 100ta elementli massiv 
double b[10][10]; //haqiqiy turli 100ta elementli massiv 
return 0;
}
Massivlarni elementlariga murojat qilish uchun uning har bir elementining 
o‘z indeksi bo‗yicha murojat qilinadi. Massiv elementlariga murojat qilishni 
quyidagi shakl orqali bajariladi. Quyidagi ikki o‗lchovli massiv berilgan bo‗lsin. 
a(3,3) massivning elementlariga C++ dasturlash tilida murojat qilish 
quyidagicha ko‗rinishda bo‗ladi. 
a[1][1]=1, a[2][1]=2, a[3][1]=3, a[1][2]=4, a[2][2]=5, a[3][2]=5, a[1][3]=4, 
a[2][3]=5, a[3][3]=5, 
 
C++ dasturlash tilida ikki o‗lchovli massivlarning elementlarini boshlang‘ich 
qiymatlarini quyidagi tartibda berilishi mumkin. 
#include  
int main()
{ int a[][]={{1,2,3}{4,5,6}{7,8,9}};
return 0;
}


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. 

Download 2,67 Mb.
1   ...   82   83   84   85   86   87   88   89   ...   164




Download 2,67 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov

Download 2,67 Mb.
Pdf ko'rish