2-dars. Bir o'lchovli seriya (massiv, array)
Darsning Maqsadlari:
- Bir o‘lchovli seriya (massiv) tushunchasini to‘liq tushunish.
- Seriyani dasturda qanday e'lon qilish va ma'lumotlarni kiritish usullarini o‘rganish.
- Seriyani random (tasodifiy) sonlar bilan to‘ldirishni va ularni funksiyalar bilan bog‘lashni o‘rganish.
Bir o‘lchovli seriya (massiv) nima?
Seriya yoki massiv (ingliz tilida – array) – bu bir xil turdagi bir necha qiymatlarni bitta nom ostida saqlash uchun ishlatiladigan ma’lumot tuzilmasidir. Agar siz bir nechta qiymatlarni saqlamoqchi bo‘lsangiz, har bir qiymat uchun alohida o‘zgaruvchi e’lon qilishingiz shart emas. Buning o‘rniga, massivdan foydalanish orqali barcha qiymatlarni bitta nom bilan saqlashingiz mumkin.
"Massivlar – bu xotira qutilarining bir tartiblangan ko‘rinishi, har bir qiymat uchun o‘zining raqamli manzili bor. Xuddi pochtadagi qutilar kabi, manzilni bilsangiz, kerakli qutini ochib qiymatni olishingiz mumkin. 📦🔢"
Massivni E'lon Qilish
C dasturlash tilida bir o‘lchovli massivni e’lon qilish uchun quyidagi sintaksisdan foydalaniladi:
dataType arrayName[size];
Tushuntirish:
- dataType – massivdagi elementlarning turi, masalan,
int,float,charva h.k. - arrayName – massivga beriladigan nom.
- size – massivning uzunligi, ya'ni elementlar soni.
Misol:
int sonlar[5];
Bu yerda sonlar nomli, 5 ta elementga ega massiv e'lon qilindi. Endi, sonlar massivida 5 ta butun son saqlashimiz mumkin.
Massivga Qiymatlarni Kiritish
Massivga qiymatlarni kiritish uchun indekslardan foydalanamiz. Indekslar orqali massivning har bir elementiga murojaat qilamiz. C dasturlash tilida indekslar 0 dan boshlanadi.
Misol:
sonlar[0] = 10;
sonlar[1] = 20;
sonlar[2] = 30;
sonlar[3] = 40;
sonlar[4] = 50;
Bu kodda biz sonlar massivining har bir elementiga qiymat berdik.
Massiv Ma'lumotlarini Chiqarish
Massivdagi ma'lumotlarni chiqarish uchun for siklidandan foydalanish qulay.
Misol:
#include <stdio.h>
int main() {
int sonlar[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
printf("%d element: %d\\n", i, sonlar[i]);
}
return 0;
}
Tushunish:
Bu kodda for sikli orqali har bir indeksdagi qiymatni chiqaramiz. sonlar[i] orqali massivning i-elementiga murojaat qilamiz va ularni ekranga chiqaramiz.
Massivni Tasodifiy Sonlar Bilan To'ldirish
Ko‘p hollarda massivni qo‘lda to‘ldirish o‘rniga tasodifiy sonlar bilan to‘ldirish qulay. C tilida tasodifiy son yaratish uchun rand() funksiyasidan foydalanamiz.
Misol:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int sonlar[5];
srand(time(0)); // Tasodifiylikni ishga tushirish
for (int i = 0; i < 5; i++) {
sonlar[i] = rand() % 100; // 0 dan 99 gacha tasodifiy son
}
// Tasodifiy sonlarni chiqarish
for (int i = 0; i < 5; i++) {
printf("%d element: %d\\n", i, sonlar[i]);
}
return 0;
}
Tushunish:
srand(time(0));orqali dastur har safar yangi sonlarni generatsiya qiladi.rand() % 100;orqali 0 dan 99 gacha tasodifiy son hosil qilinadi.
Massivlarni Funksiyalar Bilan Bog'lash
Massivlardan foydalanishning asosiy afzalliklaridan biri ularni funksiyalar bilan bog‘lash imkoniyati. Keling, massivni funksiya orqali qanday to‘ldirish va qiymatlarni qanday chiqarishni o‘rganamiz.
Misol:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void massivniToldir(int sonlar[], int n) {
for (int i = 0; i < n; i++) {
sonlar[i] = rand() % 100; // 0 dan 99 gacha tasodifiy son
}
}
void massivniChiqar(int sonlar[], int n) {
for (int i = 0; i < n; i++) {
printf("%d element: %d\\n", i, sonlar[i]);
}
}
int main() {
int sonlar[5];
srand(time(0));
massivniToldir(sonlar, 5); // massivni to'ldirish
massivniChiqar(sonlar, 5); // massivni chiqarish
return 0;
}
Tushunish:
- massivniToldir funksiyasi massivni tasodifiy sonlar bilan to‘ldiradi.
- massivniChiqar funksiyasi esa massivni ekranga chiqaradi.
Amaliy Masalalar
Dars davomida o‘rganilgan tushunchalarni yanada mustahkamlash uchun quyidagi amaliy masalalarni yechib ko‘ring.
- Masala 1
- Masala
- Masala 3
Massivga n ta son kiriting va barcha manfiy sonlarni chiqarib bering.
10 ta elementli massivda eng katta sonni aniqlaydigan dastur yozing.
Massivning barcha elementlarini kvadratga oshirib, ekranga chiqaradigan dastur yozing.
Xulosa
Bir o‘lchovli seriyalar (massivlar) dasturlashda katta ahamiyatga ega. Ular orqali katta hajmdagi ma'lumotlarni qulay boshqarish mumkin. Massivlardan foydalanish dasturimizni sodda va tushunarli qiladi. Ularni funksiyalar bilan bog‘lash orqali kodni yanada optimal va tuzilishini aniq qilamiz.
Savollar:
- Bir o‘lchovli seriya nima va qanday e’lon qilinadi?
- Massivdagi qiymatlar qanday kiritiladi va chiqariladi?
- Tasodifiy sonlar yordamida massivni qanday to‘ldirish mumkin?
- Nega massivlarni funksiyalar bilan bog‘lash kerak?