Ko‘p o‘lchovli massivlar
Ko‘p o‘lchovli massivlar
Oldingi bobda bir o‘lchovli massivlar deb ham ataladigan massivlar bilan tanishdingiz. Ular juda foydali va C tilida dasturlashda ulardan ko‘p foydalanasiz. Biroq ma’lumotlarni qator va ustunlardan iborat jadval ko‘rinishida saqlamoqchi bo‘lsangiz, ko‘p o‘lchovli massivlar bilan tanishishingiz kerak.
Ko‘p o‘lchovli massiv — bu, aslida, massivlardan iborat massiv.
Massivlar istalgan miqdordagi o‘lchamga ega bo‘lishi mumkin. Bu bobda eng keng tarqalgani — ikki o‘lchovli (2D) massivlar bilan tanishamiz.
Ikki o‘lchovli massivlar
2D massiv matritsa (qator va ustunlardan iborat jadval) deb ham ataladi.
Butun sonlardan iborat 2D massiv yaratish uchun quyidagi misolga qarang:
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
Birinchi o‘lcham qatorlar sonini [2], ikkinchi o‘lcham esa ustunlar sonini [3] bildiradi. Qiymatlar qatorma-qator joylashtiriladi va ularni quyidagicha tasavvur qilish mumkin:
2D massiv elementlariga murojaat qilish
Ikki o‘lchovli massiv elementiga murojaat qilish uchun qatorning ham, ustunning ham indeks raqamini ko‘rsatishingiz kerak.
Bu ko‘rsatma matrix massivining birinchi qatori (0) va uchinchi ustunidagi (2) element qiymatiga murojaat qiladi.
Misol
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
printf("%d", matrix[0][2]); // Outputs 2
O‘zingiz sinab ko‘ring »
Yodda tuting: Massiv indekslari 0 dan boshlanadi: [0] — birinchi element, [1] — ikkinchi element va hokazo.
2D massiv elementlarini o‘zgartirish
Element qiymatini o‘zgartirish uchun har bir o‘lchamdagi element indeks raqamiga murojaat qiling:
Quyidagi misol birinchi qator (0) va birinchi ustundagi (0) element qiymatini o‘zgartiradi:
Misol
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
matrix[0][0] = 9;
printf("%d", matrix[0][0]); // Now outputs 9 instead of 1
O‘zingiz sinab ko‘ring »
2D massiv bo‘ylab sikl
Ko‘p o‘lchovli massivni aylanib chiqish uchun massivning har bir o‘lchami uchun bittadan sikl kerak bo‘ladi.
Quyidagi misol matrix massividagi barcha elementlarni chiqaradi:
Misol
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d\n", matrix[i][j]);
}
}
O‘zingiz sinab ko‘ring »
Uch o‘lchovli massivlar
Ikkitadan ortiq o‘lchamga ega massivlarni ham e’lon qilishingiz mumkin:
Misol
// A 3D array with 2 blocks, each with 4 rows and 3 columns
int example[2][4][3];
Bu quyidagilarga ega 3D massiv yaratadi:
2ta blok (birinchi indeks)- har bir blokda
4ta qator (ikkinchi indeks) - har bir qatorda
3ta ustun (uchinchi indeks)
Ko‘p o‘lchovli massivlardan qachon foydalanish kerak
Ko‘p o‘lchovli massivlar ma’lumotlaringiz jadval, to‘r yoki matritsa kabi qator va ustunlarda joylashganda foydalidir.
Har bir qo‘shimcha o‘lcham tuzilmaga yana bir daraja qo‘shadi:
- 2D massivlar (masalan,
int scores[3][4]) ballar, o‘yin taxtalari yoki elektron jadvallar kabi ma’lumotlarni saqlash uchun juda qulay - 3D massivlar (masalan,
int cube[2][3][4]) jadvallar to‘plami yoki o‘yindagi darajalar kabi murakkabroq tuzilmalarni ifodalashi mumkin
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
