Ko‘p o‘lchovli massivlar
Ko‘p o‘lchovli massivlar
Oldingi bobda bir o‘lchovli massivlar deb ham ataladigan massivlar bilan tanishdingiz. Ular juda qulay va C# da dasturlash jarayonida ulardan ko‘p foydalanasiz. Biroq ma’lumotlarni jadval ko‘rinishida, ya’ni qator va ustunlardan iborat jadval shaklida saqlamoqchi bo‘lsangiz, ko‘p o‘lchovli massivlar bilan tanishishingiz kerak.
Ko‘p o‘lchovli massiv — aslida massivlardan iborat massiv.
Massivlar istalgan miqdordagi o‘lchamga ega bo‘lishi mumkin. Eng ko‘p uchraydigani — ikki o‘lchovli (2D) massivlar.
Ikki o‘lchovli massivlar
2D massiv yaratish uchun har bir massivni alohida figurali qavslar ichiga yozing va kvadrat qavslar ichiga vergul (,) qo‘ying:
Misol
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
Bilib qo‘ygan yaxshi: Bitta vergul [,] massiv ikki o‘lchovli ekanini bildiradi. Uch o‘lchovli massivda ikkita vergul bo‘ladi: int[,,].
Endi numbers — elementlari ikkita massivdan iborat massiv. Birinchi massiv elementida uchta element bor: 1, 4 va 2, ikkinchi massiv elementida esa 3, 6 va 8. Buni tasavvur qilish uchun massivni qator va ustunlardan iborat jadval deb o‘ylang:
2D massiv elementlariga murojaat qilish
Ikki o‘lchovli massiv elementiga murojaat qilish uchun ikkita indeks ko‘rsatishingiz kerak: biri massiv uchun, ikkinchisi shu massiv ichidagi element uchun. Yoki jadval ko‘rinishini yodda tutsak, yanada aniqrog‘i: biri qator uchun, ikkinchisi ustun uchun (quyidagi misolga qarang).
Ushbu ko‘rsatma numbers massivining birinchi qatori (0) va uchinchi ustunidagi (2) element qiymatiga murojaat qiladi:
Misol
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
Console.WriteLine(numbers[0, 2]); // Outputs 2
Yodda tuting: Massiv indekslari 0 dan boshlanadi: [0] — birinchi element, [1] — ikkinchi element va hokazo.
2D massiv elementlarini o‘zgartirish
Element qiymatini o‘zgartirishingiz ham mumkin.
Quyidagi misol birinchi qator (0) va birinchi ustundagi (0) element qiymatini o‘zgartiradi:
Misol
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
numbers[0, 0] = 5; // Change value to 5
Console.WriteLine(numbers[0, 0]); // Outputs 5 instead of 1
2D massiv bo‘ylab sikl
Ikki o‘lchovli massiv elementlarini foreach sikli yordamida osongina aylanib chiqishingiz mumkin:
Misol
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
foreach (int i in numbers)
{
Console.WriteLine(i);
}
for siklidan ham foydalanishingiz mumkin. Ko‘p o‘lchovli massivlarda massivning har bir o‘lchami uchun bittadan sikl kerak bo‘ladi.
Shuningdek, sikl necha marta bajarilishini belgilash uchun Length o‘rniga GetLength()’dan foydalanishimiz kerakligiga e’tibor bering:
Misol
int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
for (int i = 0; i < numbers.GetLength(0); i++)
{
for (int j = 0; j < numbers.GetLength(1); j++)
{
Console.WriteLine(numbers[i, j]);
}
}
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
