Massiv (array) — bir turdagi bir necha qiymatni ketma-ket, bitta nom ostida saqlaydigan tuzilma. Yuzta talaba bahosini yuzta alohida o’zgaruvchida saqlash o’rinsiz; ularni bitta massivda saqlab, sikl bilan qayta ishlaymiz. Massiv — dasturlashdagi eng asosiy ma’lumot tuzilmasi.
Massiv — xotirada ketma-ket joylashgan, bir xil turdagi elementlar to’plami. Har bir element indeks (tartib raqami) orqali murojaat qilinadi; indeks noldan boshlanadi.
Massiv e’lon qilish
C++’da massiv tur nom[hajm] shaklida e’lon qilinadi:
#include <iostream>
using namespace std;
int main() {
int ballar[5] = {85, 92, 78, 90, 65};
cout << "Birinchi: " << ballar[0] << endl;
cout << "Uchinchi: " << ballar[2] << endl;
return 0;
}
Birinchi: 85
Uchinchi: 78
Diqqat: ballar[0] — birinchi element, chunki indeks noldan boshlanadi. Ya’ni 5 elementli massivning indekslari 0 dan 4 gacha.
Elementni o’zgartirish
Massiv elementiga indeks orqali yangi qiymat berish mumkin:
#include <iostream>
using namespace std;
int main() {
int ballar[3] = {10, 20, 30};
ballar[1] = 99; // ikkinchi elementni o'zgartiramiz
cout << ballar[0] << " " << ballar[1] << " " << ballar[2] << endl;
return 0;
}
10 99 30
Massiv bo’ylab yurish
Massivning haqiqiy kuchi sikl bilan birlashganda namoyon bo’ladi. for sikli bilan barcha elementlarni qayta ishlaymiz:
#include <iostream>
using namespace std;
int main() {
int ballar[5] = {85, 92, 78, 90, 65};
int yigindi = 0;
for (int i = 0; i < 5; i++) {
yigindi += ballar[i];
}
cout << "Yig'indi: " << yigindi << endl;
cout << "O'rtacha: " << yigindi / 5 << endl;
return 0;
}
Yig'indi: 410
O'rtacha: 82
Bu naqsh — massivni aylanib chiqib, qiymatlarni jamlash — dasturlashda cheksiz ko’p uchraydi.
Muhim: chegara nazorati
C++’ning nozik va xavfli tomoni: u massiv chegarasidan chiqishni tekshirmaydi. Mavjud bo’lmagan indeksga murojaat qilsangiz, dastur qulashi yoki “axlat” qiymat berishi mumkin:
#include <iostream>
using namespace std;
int main() {
int arr[3] = {1, 2, 3};
// arr[5] — bu xavfli! chegaradan tashqarida
for (int i = 0; i < 3; i++) { // to'g'ri: 0 dan 2 gacha
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
1 2 3
Shuning uchun siklda doim to’g’ri chegara (i < hajm) qo’ying. Bu C++’da mas’uliyat dasturchining zimmasida ekanini ko’rsatadigan yaqqol misol.
Ko’p o’lchamli massiv
Massiv ichida massiv — jadval (matritsa) hosil qiladi:
#include <iostream>
using namespace std;
int main() {
int jadval[2][3] = {{1, 2, 3}, {4, 5, 6}};
cout << jadval[1][2] << endl; // ikkinchi qator, uchinchi ustun
return 0;
}
6
Xulosa
Bu bo’limda massiv e’lon qilish, indekslash (noldan), elementni o’zgartirish, sikl bilan aylanib chiqish, chegara nazorati xavfi va ko’p o’lchamli massivlarni ko’rib chiqdik. Massiv — ko’p ma’lumot bilan ishlashning poydevori. Keyingi darsda xotira manzili — C++’ning eng o’ziga xos mavzusiga o’tamiz.