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.