10. Massivlar¶
Dasturda ba'zan bir xil turdagi ko‘p ma'lumotlarni saqlashimiz kerak bo‘ladi.
Masalan, 5 ta o‘quvchining ballari:
90
85
78
95
88
Har biri uchun alohida o‘zgaruvchi yaratish mumkin:
int ball1 = 90;
int ball2 = 85;
int ball3 = 78;
int ball4 = 95;
int ball5 = 88;
Lekin bu usul qulay emas.
Buning o‘rniga massiv ishlatamiz.
Massiv nima?¶
Massiv — bir xil turdagi bir nechta qiymatni bitta nom ostida saqlash imkonini beradigan tuzilma.
Masalan:
int ballar[5] = {90, 85, 78, 95, 88};
Bu yerda ballar nomli massivda 5 ta son saqlanmoqda.
Massiv yaratish¶
Oddiy ko‘rinishi:
tur nomi[o‘lcham];
Masalan:
int sonlar[5];
Bu sonlar nomli va 5 ta int qiymat saqlay oladigan massiv yaratadi.
Massivga qiymat berish¶
Massiv yaratishda qiymatlarni ham berish mumkin:
int sonlar[5] = {10, 20, 30, 40, 50};
Bu massivda 5 ta qiymat bor.
Massiv elementlari¶
Massivdagi har bir qiymat element deyiladi.
Masalan:
int sonlar[5] = {10, 20, 30, 40, 50};
Elementlarga raqam orqali murojaat qilamiz.
Lekin muhim bir qoida bor:
Massivning birinchi elementi 0 indeksidan boshlanadi.
Shuning uchun:
sonlar[0] → 10
sonlar[1] → 20
sonlar[2] → 30
sonlar[3] → 40
sonlar[4] → 50
Birinchi elementni olish¶
int sonlar[5] = {10, 20, 30, 40, 50};
cout << sonlar[0];
Natija:
10
Beshinchi elementni olish¶
cout << sonlar[4];
Natija:
50
Nima uchun 4?
Chunki indekslar 0 dan boshlanadi:
0
1
2
3
4
Elementni o‘zgartirish¶
Massivdagi qiymatni o‘zgartirish mumkin.
Masalan:
int sonlar[5] = {10, 20, 30, 40, 50};
sonlar[0] = 100;
Endi massiv:
100
20
30
40
50
bo‘ladi.
Massivni for bilan chiqarish¶
Massiv va for juda ko‘p birga ishlatiladi.
Masalan:
int sonlar[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
cout << sonlar[i] << endl;
}
Natija:
10
20
30
40
50
Bu yerda i:
0
1
2
3
4
qiymatlarini oladi.
Massivga foydalanuvchidan qiymat kiritish¶
Massiv elementlarini cin yordamida ham to‘ldirish mumkin.
Masalan:
int sonlar[5];
for (int i = 0; i < 5; i++) {
cin >> sonlar[i];
}
Agar foydalanuvchi:
10 20 30 40 50
kiritsa, massiv shu qiymatlar bilan to‘ladi.
To‘liq misol¶
#include <iostream>
using namespace std;
int main() {
int sonlar[5];
for (int i = 0; i < 5; i++) {
cout << "Son kiriting: ";
cin >> sonlar[i];
}
cout << "Kiritilgan sonlar:" << endl;
for (int i = 0; i < 5; i++) {
cout << sonlar[i] << endl;
}
return 0;
}
Massiv elementlarini qo‘shish¶
Massivdagi sonlarning yig‘indisini topishimiz mumkin.
int sonlar[5] = {10, 20, 30, 40, 50};
int yigindi = 0;
for (int i = 0; i < 5; i++) {
yigindi += sonlar[i];
}
cout << yigindi;
Natija:
150
Eng katta sonni topish¶
Massivdagi eng katta sonni ham topish mumkin.
int sonlar[5] = {10, 50, 20, 80, 30};
int engKatta = sonlar[0];
for (int i = 1; i < 5; i++) {
if (sonlar[i] > engKatta) {
engKatta = sonlar[i];
}
}
cout << engKatta;
Natija:
80
Bu kodni hozir to‘liq tushunish qiyin bo‘lishi mumkin.
Muhimi, massiv elementlarini sikl yordamida tekshirish mumkinligini tushunish.
string massiv¶
Massiv faqat sonlar uchun emas.
string larni ham saqlash mumkin.
Masalan:
string ismlar[3] = {
"Ali",
"Vali",
"Hasan"
};
Keyin:
cout << ismlar[0];
Natija:
Ali
Barcha ismlarni chiqarish:
for (int i = 0; i < 3; i++) {
cout << ismlar[i] << endl;
}
Natija:
Ali
Vali
Hasan
Massiv o‘lchami¶
Masalan:
int sonlar[5];
Bu massiv 5 ta element saqlaydi.
Indekslar:
0
1
2
3
4
5 indeksidan foydalanish mumkin emas.
Masalan:
sonlar[5]
noto‘g‘ri.
Chunki oxirgi indeks:
sonlar[4]
Massiv o‘lchamini unutmaslik¶
Quyidagi kod:
int sonlar[3] = {10, 20, 30};
3 ta qiymat saqlaydi.
Indekslar:
0 → 10
1 → 20
2 → 30
Massiv va for¶
Massiv bilan ishlaganda for juda foydali.
Masalan:
int sonlar[5] = {2, 4, 6, 8, 10};
for (int i = 0; i < 5; i++) {
cout << sonlar[i] << endl;
}
Bu massivdagi barcha elementlarni birma-bir chiqaradi.
Shuning uchun quyidagini yaxshi tushunib oling:
massiv + for
C++ da juda ko‘p ishlatiladi.
Amaliy mashqlar¶
1-mashq¶
Quyidagi massivni yarating:
10, 20, 30, 40, 50
Keyin barcha elementlarni ekranga chiqaring.
2-mashq¶
5 ta sonli massiv yarating.
Massivdagi barcha sonlarning yig‘indisini toping.
3-mashq¶
5 ta sonli massiv yarating.
Massivdagi eng katta sonni toping.
4-mashq¶
Foydalanuvchidan 5 ta son oling va ularni massivga saqlang.
Keyin barcha sonlarni chiqaring.
5-mashq¶
Quyidagi ismlarni massivga saqlang:
Ali
Vali
Hasan
Husan
Keyin for yordamida barcha ismlarni chiqaring.
Muhim narsalarni eslab qoling¶
Massiv bir xil turdagi bir nechta qiymatni saqlaydi.
Masalan:
int sonlar[5];
Massivning birinchi indeksi 0:
sonlar[0]
Keyingi indekslar:
sonlar[1]
sonlar[2]
sonlar[3]
sonlar[4]
Massivni for yordamida osongina ko‘rib chiqish mumkin:
for (int i = 0; i < 5; i++) {
cout << sonlar[i];
}
Massivlar ko‘p sonli ma'lumotlar bilan ishlashning eng oddiy usullaridan biridir.