9. Koʻp o'lchovli massivlar


Download 48.53 Kb.
Sana17.10.2023
Hajmi48.53 Kb.
#1705987
Bog'liq
L9. Koʻp o\'lchovli massivlar.


9. Koʻp o'lchovli massivlar.

To‘g‘ri to‘rtburchakli massivlar deb bittadan ortiq o‘lchamli massivlarga aytiladi. Ikki o‘lchamlik massivga to‘g‘ri burchakli massiv ham deb ataladi. Amalda ko‘proq ikki o‘lchamli massivlarning quyidagi ko‘rinishlari ishlatiladi:


Tip [ , ] nom;
Tip [ , ] nom = new tip [ o‘lcham1, o‘lcham2] ;
Tip [ , ] nom = { initsializatorlar ro‘yxati };
Tip [ ] nom = new tip[ , ] { initsializatorlar ro‘yxati };
Tip [ , ] nom = new tip[o‘lcham1, o‘lcham2] { initsializatorlar ro‘yxati };
Xuddi bir o‘lchovli massivlarga o‘xshagan bularga mos quyidagi misollarni keltirish mumkin:
int [ , ] a;
int [ , ] b= new int [ 2, 3];
int [ , ] c= { {1,2,3}, {4,5,6} };
int [ ] d= new int[ , ] { {1,2,3}, {4,5,6} };
int [ , ] e= new int[2, 3] { {1,2,3}, {4,5,6} };
Shuni ham yodda saqlash kerakki, ikki o‘lchovli massiv elementining birinchi indeksini satr nomeri deb, ikkinchisini esa ustun nomeri deb qabul qilinadi. Misol tariqasida ikki o‘lchamli n*m ta elementli A massivni quyidagicha tasavvur qilish lozim.

4.2-rasm. n*m ta elementli massiv
Ko‘p o‘lchamli massivlarni ichida eng soddasi ikki o‘lchamli massiv hisoblanadi. Unda aniq element joylashuvi ikki indeks bilan aniqlanadi. Ikki o‘lchamli massivni axborot jadvali sifatida ko‘rish mumkin, unda bir indeks qator nomeri, ikkinchisi ustun nomerini ko‘rsatadi.
Ikki o‘lchamli 10x20 kattalikdagi table massivi quyidagicha chaqiriladi:
int[,] table = new int[10, 20];
Ushbu massiv chaqirilganda massivning ikki xil o‘lchami vergul bilan ajratilgan. Operatorning birinchi qismida kvadrat qavslar ichidagi vergul yordamida ikki o‘lchamli massivga murojaatlar o‘zgaruvchisi yaratiladi. new yordamida massivga xotira ajratish qismini bajarishga chaqiriladi:
new int[10, 20]
Bunda qiymatlar o‘lchami vergul bilan ajratilgan, o‘lchami 10x20 bo‘lgan massiv yaratiladi. Masalan, table[3, 5] massiv elementiga 10 qiymatini berish uchun quyidagi operatorni ishlatish zarur:
table[3, 5] = 10;
1-misol. Quyidagi dasturda elementlariga 1 dan 12 gacha bo‘lgan qiymatlar berilgan ikki o‘lchamli massiv ko‘rsatilgan va bu qiymatlar ekranga chiqarilgan.
// programmada ikki o‘lchamli massiv ishlatilishi ko‘rsatilgan.
static void Main(string[] args) {
int[,] table = new int [3, 4];
for(int i=0; i < 3; i++)
for(int j=0; j < 4; j++)
{
table[i,j]=(i*4)+j+1;
Console.Write(table[i, j] + " ");
}
Console.ReadLine();
}
Ushbu dasturda table {0, 0} elementi 1 qiymatga ega, table [0, 1] = 2 ga,
table[0, 2] = 3 ga va h.k. table[2, 3] elementi 12 ga ega bo‘ladi.
2-misol. Ikki o‘lchovli A(n, m) massiv elementlarining yig‘indisini topish dasturi:
static void Main(string[] args) {
const int m=3, n=4;
int [,] AA=new int [m, n] {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
Console.WriteLine("Massivni dastlabki ko‘rinishi: ");
for(int i=0; i{
for (int j = 0; j < n; ++j)
{
Console.WriteLine("\t" + AA[i, j]);
}
Console.WriteLine();
}
long sum=0;
for(int i=0; ifor(int j=0; j{
sum +=AA[i,j];
}
Console.WriteLine("Elementlar yig‘indisi sum= "+sum);
Console.ReadLine();
}
Dastur natijasi:
Elementlar yig‘indisi sum= 78
3-misol. Ikki o‘lchovli A (n, m) massiv elementlarining orasidan k dan kichik bo‘lgan elementlar sonini topish dasturi:
static void Main(string[] args) {
const int k=4, m=2, n=3;
int [,] AA=new int[m,n] {
{1, 2, 3 },
{4, 5, 6 },
};
Console.WriteLine("Massivni dastlabki ko‘rinishi: ");
for(int i=0; i{
for(int j=0; j{
Console.WriteLine("\t "+ AA[i,j]);
}
Console.WriteLine();
}
int L=0; // k dan kichik elementlarni sanash uchun
for(int i=0; i{
for(int j=0; j{
if (AA[i,j] < k) ++L;
}
}
Console.WriteLine("k dan kichik elementlar soni L = "+L);
Console.ReadLine();
}
Dastur natijasi:
k dan kichik elementlar soni L = 3

MASALALAR





  1. Elementlari soni N ta bo‘lgan butun sonli massiv berilgan. Uning eng katta va eng kichik elementini toping. Agarda bunday elementlar ko‘p bo‘lsa, ularning sonini chiqaring.

  2. Butun sonlardan iborat bo‘lgan massiv berilgan. Shu massivni o‘suvchi holda tartiblaydigan dastur tuzing.

  3. Ikkita A va B massivlar berilgan. B massiv elementlarini A massivda bor yoki yo‘qligini aniqlovchi dastur tuzing. B massivning har bir K ta elementi A massivda bor bo‘lsa, alohida satrda «YES», aks holda, «NO» chiqaring.

  4. Matritsani qatоr elеmеntlari yig‘indisidan vеktоr hоsil qilinsin, eng katta va eng kichik elеmеntini aniqlaydigan dastur tuzing.

  5. Kvadrat matritsani asosiy diоganal elеmеntlaridan eng kattasi va yordamchidioganal elementlaridan eng kichigini topadigan dastur tuzing.

  6. Kvadrat matritsani yuqоri uchburchak (asosiy dioganaldan yuqoridagi asosiy dioganal ham) elеmеntlaridan bir o‘lchamlik massiv hоsil qilinsin va massivning maх, min elеmеntlari aniqlansin.

  7. Matritsaning har bir qatоri elеmеntlarining qiymatini o‘sish bo‘yicha tartiblaydigan dastur tuzing.

Download 48.53 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling