Ko‘p o‘lchovli massivlar


ULASHISH

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];

O‘zingiz sinab ko‘ring »

Bu quyidagilarga ega 3D massiv yaratadi:

  • 2 ta blok (birinchi indeks)
  • har bir blokda 4 ta qator (ikkinchi indeks)
  • har bir qatorda 3 ta 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!