C++ tilida massivlar bilan ishlash
![Mavzu. C++ tilida massivlar bilan ishlash
I.Kirish.
II.Asosiy qism.
1.Massivlar va ular xaqida tushuncha.
2.C++ tilida bir o’lchamli massivlar bilan ishlash.
3.C++ tilida massivlar ustida amallar.
4.C++ tilida massivlar elementlarini tartiblash.
III.Xulosa](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_1.png)
![1. .
Massiv - bir xil ma'lumot turiga ega bo'lib bir nechta o'zgaruvchini har birini
alohida e'lon qilish o'rniga. Bir o'zgaruvchiga bir nechta qiymat saqlash uchun
ishlatiladi.
Ma ss i v e' l o n q i l i sh da o 'z ga r u vc hi t ur i ni a ni ql an g va sh u bi l a n bi r g a un ga
sa ql an ad i g an e l e m e nt t ur l ar i n i an i q l a ng .
string massiv[ 4 ];
E nd i bi z t o 'r t a q i ym at ni o 'z i g a s aq l a sh uc hu n m u j j al l a ng an m as si vn i
e' l o n q i l d i k . un ga qi y m a t yu kl as h uc hu n qi ym at l ar ni vi rg ul bi l a n aj r at i b
f i g ur n i y q av us i c hi da yo zi l a di . Qu yi da gi ga e' t i bor b er i n g.
string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" };
Uc ht a b ut un s on da n i bor at q at or ya r a t i sh uc hu n si z q uy i d ag i c ha
yo zi ng i z z ar ur bo 'l ad i .
int myNum[ 3 ] = { 913 , 15 , 96 };
Eslatma: Massiv indekslari 0 dan boshlanadi: [0] birinchi element. [1] ikkinchi
element va boshqalar.
# include <iostream>
# include <string>
using namespace std;
int main () {
string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" };
cout << massiv[ 0 ];
return 0 ;
}
Master
Massiv elementini o'zgartirish.
Mu ay ya n bi r e l e m e nt ni o 'z ga r t i r i sh uc hu n si z m a ss i v e l e m e nt i n i n g
i n de ks r a qa m i ga m ur o j a at q i l i b o 'z ga r t i r i sh i m ko ni y at i g a e ga b o' l a si z.
# include <iostream>
# include <string>
using namespace std;
int main () {
string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" };](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_2.png)
![massiv[ 0 ] = "Farrukh" ;
cout << massiv[ 0 ];
return 0 ;
}
Farrukh
Massiv elementlari alohida chiqarish.
Ma ss i v el em en t l ar i n i al oh i d a ch i q ar i s h u ch un f or t s ki l y oki
bo sh qa t ak ro rl as h op er at or l ar i da n f o yd al an i s hi ng i z m u m ki n. E sd an
ch i q ar m a ng m as si v l ar b i l an i sh l a sh da ko 'p i n ch i f or t s i k l d an
f oy da l a ni sh i n gi z m a qs ad ga m u of f i q hi so bl an ad i .
# include <iostream>
# include <string>
using namespace std;
int main () {
string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" };
for ( int i = 0 ; i < 4 ; i++) {
cout << massiv[i] << "\n" ;
}
return 0 ;
}
Master
Sherkulov
CPP
course
Qu yi da gi m i s ol har b i r el em en t i nd ek si ni uni ng q i y m a t i b i l an b i r g a
ch i q ar ad i :
# include <iostream>
# include <string>
using namespace std;
int main () {
string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" };
for ( int i = 0 ; i < 4 ; i++) {
cout << i << ": " << massiv[i] << "\n" ;](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_3.png)
![}
return 0 ;
}
0: Master
1: Sherkulov
2: CPP
3: course
Massiv elementlari qiymatlarini kiritish!
# include <iostream>
# include <string>
using namespace std;
int main () {
string massiv[ 4 ];
for ( int i = 0 ; i < 4 ; i++) {
cin >> massiv[i];
}
return 0 ;
}
2. Agar struktura bir hil kattalikdagi tiplardan tuzilgan bo'lsa, uning nomi massiv
(array) deyiladi. Massivlar dasturlashda eng ko'p qo'laniladigan ma'lumot
tiplaridir. Bundan tashqari strukturalar bir necha farqli tipdagi o'zgaruvchilardan
tashkil topgan bo'lishi mumkin. Buni biz klas (Pascalda record) deymiz. Masalan
bunday strukturamiz ichida odam ismi va yoshi bo'lishi mumkin. Bu bo'limda biz
massivlar bilan yaqindan tanishib o'tamiz. Bu bo'limdagi massivlarimiz C
uslubidagi, pointerlarga (ko'rsatkichlarga) asoslan strukturalardir. Massivlarning
boshqa ko'rinishlarini keyingi qismlarda o'tamiz. Massivlar hotirada ketma-ket
joylashgan, bir tipdagi o'zgaruvchilar guruhidir. Dasturda ikki asosiy tur ma'lumot
strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik
deganimizda hotirada egallagan joyi o'zgarmas, dastur boshida beriladigan
strukturalarni nazarda tutamiz. Dinamik ma'lumot tiplari dastur davomida o'z
hajmini, egallagan hotirasini
o'zgartirishi mumkin. Alohida bir o'zgaruvchini ko'rsatish uchun massiv nomi va
kerakli o'zgaruvchi indeksini yozamiz. C++ dagi massivlardagi elementlar indeksi
har doim noldan boshlanadi.
Massiv bir o`lchamli deyiladi, agar uning elementiga bir indeks orqali murojaat
qilish mumkin bo`lsa.](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_4.png)
![Bir o`lchamli massivni e`lon qilish quyidagicha bo`ladi:
1) float a[5];
2) int m[6];
3) bool b[10];
1) a elementlari haqiqiy sonlardan iborat bo`lgan, 5 ta elementdan tashkil topgan
massiv. Indekslari esa 0 dan 4 gacha bo`lgan sonlar
float a[5];
Massiv a[0] a[1] a[2] a[3] a[4]
elementilari qiymati 4 -7 15 5.5 3
2) m elementlari butun sonlardan iborat bo`lgan, 6 ta elementdan tashkil topgan
massiv. Indekslari esa 0 dan 5 gacha bo`lgan sonlar.
int m[6];
Massiv m[0] m[1] m[2] m[3] mas2[4] mas2[5]
elementilari qiymati 2 -17 6 7 13 -3
3) b elementlari mantiqiy qiymatlardan (true, false ) iborat bo`lgan 10 ta
elementdan tashkil topgan massiv. Indekslari esa 0 dan 9 gacha bo`lgan sonlar.
Massiv elementlariga murojaat qilish oddiy o`zgaruvchilarga murojaat qilishdan
biroz farq qiladi. Massiv elementiga murojaat qilish uning indeksi orqali bo`ladi.
a[1] = 10; a massivining 1 – elementi 10 qiymat o’ zlashtirsin;
cin >> a[2]; a massivining 2 – elementi kirtilsin;
cout << a[3]; a massivining 3 – elementi ekranga chiqarilsin;
Massivni e'lon qilishda uning elementlariga boshlang'ich qiymat berish mumkin
va buning bir nechta usuli mavjud.
1) O'lchami ko'rsatilgan massivni to'liq initsializatsiyalash.
int k[5] = { 2, 3, 7, 8, 6};
Bu yerda 5 ta elementdan iborat bo'lgan k massivi e'lon qilingan va massivning
barcha elemantlariga boshlang'ich qiymat berilgan.
2) O'lchami ko'rsatilgan massivni to'liqmas initsializatsiyalash.
int k[5] = { 2, 3, 7 };
Bu yerda 5 ta elementdan iborat bo'lgan k massivi e'lon qilingan va massivning
dastlabki 3 ta elemantlariga boshlang'ich qiymat berilgan.
3) O'lchami ko'rsatilmagan massivni to'liq initsializatsiyalash.
int k[] = { 2, 3, 7, 8, 6};](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_5.png)
![Shuni takidlash lozimki, agar massiv o'lchami ko'rsatilmasa, uni to'liq
initsializatsiyalash shart. Bu xolda massiv o'lchami kompilyatsiya jarayonida
massiv elementlari soniga qarab aniqlanadi. Bu yerda massiv o'lchami 5 ga teng.
4) O'lchami ko'rsatilgan massivning barcha elementlariga boshlang'ich qiymat 0
berish:
int k[5] = { 0 };
O'lchami ko'rsatilgan massivning barcha elementlariga boshlang'ich qiymat 0
berish
#include <iostream.h>
int main()
{
int a[10] = { 0 };
for (int i = 0; i < 10; i++)
cout << "a[" << i << "]=" << a[i] << endl;
return 0;
}
Berilgan massiv elimentlarini yig`indisini topish dasturini tuzing
#include <iostream.h>
int main()
{
int s=0;
int a[10] ;
for (int i = 0; i < 10; i++)
{
cout << "a[" << i << "]="; cin >> a[i];
s=s+a[i];
}
cout << "Massivning yig`indisi=" <<s<< endl;
return 0;
}
3. Massiv bu — bir turdagi o’zgaruvchilarni o’zida saqlovchi biror nom bilan
nomlangan o’lchami chegaralangan o’zgaruvchilari guruhi ya’ni oddiyoq qilib
aytganda maxsus idishdir. Bitta yoki ikkita o’zgaruvchi ustida amalarni
bajarmoqchisiz , bununig uchun bir yoki ikkita o’zgaruvchi yaratib olib xohlagan
amalni bajarish mumkin. Lekin bu o’zgaruvchilar ko’p bo’lsachi? Agar har bir
ishlatmoqchi bo’lgan o’zgaruvchi uchun har safar yangidan o’zgaruvchilarni
yarataversak bu bir muncha noqulayliklar tug’diradi. Bu vaziyatda esa
massivlarni ishlatish qo’l keladi.
C# da massivlar boshqa C dasturlash tillaridagi massivlardan ancha farq qiladi.
Bunimisollar yordamida ko’rib o’tamiz.
int [] k ; // k – massiv.](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_6.png)
![1K = new int [3] ; // massiv 3 ta int tipiga tegishli elementdan iborat.
K [0] = -5 ;
K [1] = 4 ;
K [2] = 1; // massiv elementlarini e’lon qilamiz.
// massivning uchinchi elementini chiqaramiz
Console.Writeline(k[2]+””);
Yuqoridagilardan ko’rinib turibdiki, massiv quyidagicha e’lon qilinadi :
Int [] k;
Quyidagisi esa xato hisoblanadi :
int k [] ; //xato!
int k [] ; //xato !
Misol:
using System;
using System.Text;
namespace massiv
{
class Program
{
static void Main(string[] args)
{
int s = 0;
int[] a = new int[5];
a[0] = 6;
a[1] = 3;
a[2] = 7;
a[3] = 5;
a[4] = 2;
s=a[0]+a[1]+a[2]+a[3]+a[4];
Console.Write("s="+s);
Console.ReadKey();
}
}
}
Natija: S=23;
Misol: Ikkinchi xil ko’rinishi
using System;
using System.Text;
namespace massiv
{
class Program
{
static void Main(string[] args)
{
int s = 0;](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_7.png)
![int[] a = {2,3,4,5,6};
s=a[0]+a[1]+a[2]+a[3]+a[4];
Console.Write("s="+s);
Console.ReadKey();
}
}
}
Natija ikkalasidayam bir xil faqat yig’indi boshqa son S=19;
Masalan:
using System;
using System.Text;
namespace fibonachi
{
class Program
{
static void Main(string[] args)
{
int n,i,s=0,s1=0;
Console.Write("son kiritng ! N=");
n=int.Parse(Console.ReadLine());
int []a; a=new int[n];
for(i=0;i
Console.Write("a["+i+"]=");
a[i] = int.Parse(Console.ReadLine());
}
s=a[0];
for(i=0;i
if (a[i] > s) { s = a[i]; s1 = (i + 1); } Console.Write("eng katta son " +s);
Console.ReadKey();
}
}
}
Natija: Massivning elementlari ichidan eng kattasi tekshirilib s ga o’zlashtiriladi
va ekranga chop etiladi!
4. Massiv elementlarini tartiblash usullari
Massivni tartiblashtirishning bir necha usullari (algoritmlari) mavjud. Ulardan
quyidagi usullarni qarab chiqamiz: – tanlash usuli; – almashtirish usuli.
Tanlash usuli yordamida massivni o‘sish bo‘yicha tartiblashtirish algoritmi
quyidagicha:](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_8.png)
![1.Massivning birinchi elementidan boshlab qarab chiqilib eng kichik element
topiladi.
2.Birinchi element bilan eng kichik element joylari almashtiriladi.
3.Ikkinchi elementidan boshlab qarab chiqilib eng kichik element topiladi.
4.Ikkinchi element bilan eng kichik element joylari almashtiriladi.
5.Bu protsess bitta oxirgi elementgacha takrorlanadi. Bu algoritm dasturi
quyidagicha bo‘ladi:
Program Sort;
Const
Size=5;
Var
i,j,min,k,buf: Integer; a:
Array[1..Size] of Integer ;
Begin
Writeln
(‘Massivni tartiblashtirish’);
Write
(Size:3,’ta massiv elementini kiriting’);
For
k:=1 to Size Do Read(a[k]);
Writeln
(‘Òartiblashtirish’);
For
i:=1 to Size-1 Do
Begin
{
kichik elementni topish }
min:=i;
For
j:=i+1 to Size Do
Begin
If
a[j]
For
k:=1 to Size Do Write (a[k],’ ‘);
Writeln;
End;
End;
Writeln(‘Massiv
tartiblashtirildi.’); End.Dastur natijasi:
Massivni tartiblashtirib ,
5
ta massiv elementini kiriting:
12
-3 56 47 10
Òartiblashtirish](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_9.png)
![-3 12 56 47 10
-3
10 56 47 12
-3
10 12 47 56
-3
10 12 47 56
Massiv
tartiblashtirildi.
Almashtirish usuli
yordamida massiv elementlarini o‘sib borishida
tartiblashtirish
algoritmi quyidagicha:
1.Massivning
birinchi elementidan boshlab ketma-ket hamma qo‘shni
elementlar
bir-biri bilan solishtirilib, agar birinchisi ikkinchisidan kichik
bo‘lsa,
ular joyi almashtirilib boriladi.
2.Bu
protsess davomida kichik qiymatli elementlar massiv boshiga , katta
elementlar
esa oxiriga siljitib boriladi. Shu sabab bu usul «ïóçûð¸ê» usuli
ham
deyiladi.
3.Bu
protsess massiv elementlar sonidan bitta kam takrorlanadi.
Masalan:
3
2 4 5 1 bunda 3 bilan 2 va 5 bilan 1 almashtiriladi.
2
3 4 1 5 bunda 4 bilan 1 almashtiriladi.
2
3 1 4 5 bunda 3 bilan 1 almashtiriladi.
2
1 3 4 5 bunda 2 bilan 1 almashtiriladi.
1
2 3 4 5
Bu
algoritm dasturi quyidagicha bo‘ladi: Program Sort;
Const
Size=5;
Var
i, j, min, k, buf: Integer; a: Array[1..Size] of Integer;
Begin
Writeln
(‘Massivni ïóçûð¸ê (ko‘pikcha) usulida tartib-
lashtirish’);
Write
(Size:3,’ta massiv elementini kiriting’);](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_10.png)
![For k:=1 to Size Do Read(a[k]);
Writeln
(‘Òartiblashtirish’);
For
i:=1 to Size-1 Do Begin
For
k:=1 to Size-1 Do Begin
If
a[k]>a[k+1] then
Begin
buf:=a[k];
a[k]:=a[k+1]; a[k+1]:=buf;
End;
End;
For
k:=1 to Size Do Write (a[k],’ ‘); Writeln;
End;
Writeln(‘Massiv
tartiblashtirildi.’); End.
Dastur
natijasi:
Massivni
ïóçûð¸ê usulida tartiblashtirib, 5 ta massiv elementini kiriting:
3
2 4 1 5
Òartiblashtirish
2
3 4 1 5
2
3 1 4 5
2
1 3 4 5
1
2 3 4 5
Massiv
tartiblashtirildi.
Massivda
eng kichik yoki eng katta elementni izlash algoritmi , ma’lumki,
birinchi
element eng kichik (katta) deb olinib keyin boshqa elementlar bilan
ketma-ket
solishtirilib chiqiladi. Solishtirilish oxirgi elementgacha bajariladi.
Quyida
bu algoritm dasturi keltirilgan: Program MinMax;](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_11.png)
![Var i,min: Integer;
a:
Array[1..10] of Integer;
Begin
Writeln
(‘Massivdan eng kichik elementni izlash’);
Write
(’ 10-ta massiv elementini kiriting’);
For
i:=1 to 10 Do Read(a[i]); min:=1;
For
i:=2 to 10 Do
If
a[i]
Writeln(‘Izlanayotgan
eng kichik element:’,a[min]); Writeln(‘Element
nomeri’,min);
End.
Dinamik massiv
Dinamik
massiv ta’riflanganda uning uzunligini ko‘rsatish shart emas.
Massiv
uzunligini o‘rnatish uchun SetLength funksiyasidan foydalanish
mumkin.
Uning ikki parametri mavjud:
1.
Dinamik
massiv tiðidagi o‘zgaruvchi:
2.
Massiv
uzunligi.
High(r)
funksiyasi massiv elementlari sonini qaytaradi.
Misol: r:array
of integer; i:Integer; begin
SetLength(r,10);
for i:=0 to High(r)-1 do begin r[i]:=i*i;
writeln
(IntToStr(i)+` kvadrati =`+IntToStr(r[i])); end;](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_12.png)
![IntToStr funksiyasi sonni satrga aylantiradi.
III.
Xulosa
Xulosa qilib shuni aytish mumkinki , C++ dasturlash tilida ishlash boshqa
dasturlash tillariga nisbatan ancha qulay va imkonoyati ham kengroq.
MenC++ dasturistrukturasixaqida, belgilarbayoni ,
Algoritmvadasturtushunchasi,
ma’lumotlarnikiritishvachikarishoperatorlarixamdadasturdamassivlarvasatrla
rbilanishlashxaqidao`zimga keraklicha bilimvako`nikmaga egabo`ldim.
C++ dasturi
Windowsmuhitidaishlaydigandasturtuzishuchunqulaybo`lganvositabo`lib,
kompyuterdadasturyaratishishlariniavtomatlashtiradi,
xatoliklarnikamaytiradivadasturtuzuvchimehnatini yengillashtiradi.
C++ dasturlash tilida massivlarning ishlatilishi boshqa dasturlash
tillariga qaraganda bir muncha afzalliklarga ega. Massivlar bilan ishlash
bazi hisoblash masalalarida ancha qulayliklar tug`diradi. Ularning
xotirada egallaydigan joyini hisobga olsak dasturning ishlash tezligi
xam bir necha marta ortadi.
Men bu kurs ishimda shuni yoritib berganmanki , massivlar xaqida
umumiy ma`lumot (bir o`lchamli va ko`p o`lchamli), ularning xotiradan
egallaydigan tartibi, saralash, tartiblash, funksiyalar bilan bog`lash ,
dasturlarda foydalanish kabiyechimlariga oid turli masalalarni misollar](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_13.png)
![yordamida yoritib chiqdim. Bundan shuni xulosa qilishim mumkinki ,
bundan keyingi ishlarimni yanada boyitgan xolda massivlar ustida
dastur tuzib ularni kengroq yoritib berishdir.](/data/documents/9f58805d-28a8-4390-9a4b-1a6836b0c4a3/page_14.png)
Mavzu. C++ tilida massivlar bilan ishlash I.Kirish. II.Asosiy qism. 1.Massivlar va ular xaqida tushuncha. 2.C++ tilida bir o’lchamli massivlar bilan ishlash. 3.C++ tilida massivlar ustida amallar. 4.C++ tilida massivlar elementlarini tartiblash. III.Xulosa
1. . Massiv - bir xil ma'lumot turiga ega bo'lib bir nechta o'zgaruvchini har birini alohida e'lon qilish o'rniga. Bir o'zgaruvchiga bir nechta qiymat saqlash uchun ishlatiladi. Ma ss i v e' l o n q i l i sh da o 'z ga r u vc hi t ur i ni a ni ql an g va sh u bi l a n bi r g a un ga sa ql an ad i g an e l e m e nt t ur l ar i n i an i q l a ng . string massiv[ 4 ]; E nd i bi z t o 'r t a q i ym at ni o 'z i g a s aq l a sh uc hu n m u j j al l a ng an m as si vn i e' l o n q i l d i k . un ga qi y m a t yu kl as h uc hu n qi ym at l ar ni vi rg ul bi l a n aj r at i b f i g ur n i y q av us i c hi da yo zi l a di . Qu yi da gi ga e' t i bor b er i n g. string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" }; Uc ht a b ut un s on da n i bor at q at or ya r a t i sh uc hu n si z q uy i d ag i c ha yo zi ng i z z ar ur bo 'l ad i . int myNum[ 3 ] = { 913 , 15 , 96 }; Eslatma: Massiv indekslari 0 dan boshlanadi: [0] birinchi element. [1] ikkinchi element va boshqalar. # include <iostream> # include <string> using namespace std; int main () { string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" }; cout << massiv[ 0 ]; return 0 ; } Master Massiv elementini o'zgartirish. Mu ay ya n bi r e l e m e nt ni o 'z ga r t i r i sh uc hu n si z m a ss i v e l e m e nt i n i n g i n de ks r a qa m i ga m ur o j a at q i l i b o 'z ga r t i r i sh i m ko ni y at i g a e ga b o' l a si z. # include <iostream> # include <string> using namespace std; int main () { string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" };
massiv[ 0 ] = "Farrukh" ; cout << massiv[ 0 ]; return 0 ; } Farrukh Massiv elementlari alohida chiqarish. Ma ss i v el em en t l ar i n i al oh i d a ch i q ar i s h u ch un f or t s ki l y oki bo sh qa t ak ro rl as h op er at or l ar i da n f o yd al an i s hi ng i z m u m ki n. E sd an ch i q ar m a ng m as si v l ar b i l an i sh l a sh da ko 'p i n ch i f or t s i k l d an f oy da l a ni sh i n gi z m a qs ad ga m u of f i q hi so bl an ad i . # include <iostream> # include <string> using namespace std; int main () { string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" }; for ( int i = 0 ; i < 4 ; i++) { cout << massiv[i] << "\n" ; } return 0 ; } Master Sherkulov CPP course Qu yi da gi m i s ol har b i r el em en t i nd ek si ni uni ng q i y m a t i b i l an b i r g a ch i q ar ad i : # include <iostream> # include <string> using namespace std; int main () { string massiv[ 4 ] = { "Master" , "Sherkulov" , "CPP" , "course" }; for ( int i = 0 ; i < 4 ; i++) { cout << i << ": " << massiv[i] << "\n" ;
} return 0 ; } 0: Master 1: Sherkulov 2: CPP 3: course Massiv elementlari qiymatlarini kiritish! # include <iostream> # include <string> using namespace std; int main () { string massiv[ 4 ]; for ( int i = 0 ; i < 4 ; i++) { cin >> massiv[i]; } return 0 ; } 2. Agar struktura bir hil kattalikdagi tiplardan tuzilgan bo'lsa, uning nomi massiv (array) deyiladi. Massivlar dasturlashda eng ko'p qo'laniladigan ma'lumot tiplaridir. Bundan tashqari strukturalar bir necha farqli tipdagi o'zgaruvchilardan tashkil topgan bo'lishi mumkin. Buni biz klas (Pascalda record) deymiz. Masalan bunday strukturamiz ichida odam ismi va yoshi bo'lishi mumkin. Bu bo'limda biz massivlar bilan yaqindan tanishib o'tamiz. Bu bo'limdagi massivlarimiz C uslubidagi, pointerlarga (ko'rsatkichlarga) asoslan strukturalardir. Massivlarning boshqa ko'rinishlarini keyingi qismlarda o'tamiz. Massivlar hotirada ketma-ket joylashgan, bir tipdagi o'zgaruvchilar guruhidir. Dasturda ikki asosiy tur ma'lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik deganimizda hotirada egallagan joyi o'zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz. Dinamik ma'lumot tiplari dastur davomida o'z hajmini, egallagan hotirasini o'zgartirishi mumkin. Alohida bir o'zgaruvchini ko'rsatish uchun massiv nomi va kerakli o'zgaruvchi indeksini yozamiz. C++ dagi massivlardagi elementlar indeksi har doim noldan boshlanadi. Massiv bir o`lchamli deyiladi, agar uning elementiga bir indeks orqali murojaat qilish mumkin bo`lsa.
Bir o`lchamli massivni e`lon qilish quyidagicha bo`ladi: 1) float a[5]; 2) int m[6]; 3) bool b[10]; 1) a elementlari haqiqiy sonlardan iborat bo`lgan, 5 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 4 gacha bo`lgan sonlar float a[5]; Massiv a[0] a[1] a[2] a[3] a[4] elementilari qiymati 4 -7 15 5.5 3 2) m elementlari butun sonlardan iborat bo`lgan, 6 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 5 gacha bo`lgan sonlar. int m[6]; Massiv m[0] m[1] m[2] m[3] mas2[4] mas2[5] elementilari qiymati 2 -17 6 7 13 -3 3) b elementlari mantiqiy qiymatlardan (true, false ) iborat bo`lgan 10 ta elementdan tashkil topgan massiv. Indekslari esa 0 dan 9 gacha bo`lgan sonlar. Massiv elementlariga murojaat qilish oddiy o`zgaruvchilarga murojaat qilishdan biroz farq qiladi. Massiv elementiga murojaat qilish uning indeksi orqali bo`ladi. a[1] = 10; a massivining 1 – elementi 10 qiymat o’ zlashtirsin; cin >> a[2]; a massivining 2 – elementi kirtilsin; cout << a[3]; a massivining 3 – elementi ekranga chiqarilsin; Massivni e'lon qilishda uning elementlariga boshlang'ich qiymat berish mumkin va buning bir nechta usuli mavjud. 1) O'lchami ko'rsatilgan massivni to'liq initsializatsiyalash. int k[5] = { 2, 3, 7, 8, 6}; Bu yerda 5 ta elementdan iborat bo'lgan k massivi e'lon qilingan va massivning barcha elemantlariga boshlang'ich qiymat berilgan. 2) O'lchami ko'rsatilgan massivni to'liqmas initsializatsiyalash. int k[5] = { 2, 3, 7 }; Bu yerda 5 ta elementdan iborat bo'lgan k massivi e'lon qilingan va massivning dastlabki 3 ta elemantlariga boshlang'ich qiymat berilgan. 3) O'lchami ko'rsatilmagan massivni to'liq initsializatsiyalash. int k[] = { 2, 3, 7, 8, 6};