Dasturlash tilida massivlar bilan ishlash



Download 54,14 Kb.
bet8/9
Sana13.07.2022
Hajmi54,14 Kb.
#784464
1   2   3   4   5   6   7   8   9
Bog'liq
Abdullayeva Mavludaxon ATD KURS ISHI

void Sort(Array array) bir o'lchovli massivning elementlarini tartiblaydi
Keling, eng ko'p ishlatiladigan usullarni ko'rib chiqaylik.
Element indeksini topish

bitta
2
3
4
5
6
7
sakkiz
9
10
o'n bir
12
o'n uch
14
15
o'n olti
17
o'n sakkiz

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };
// находим индекс элемента "Bob"
int bobIndex = Array.BinarySearch(people, "Bob");
// находим индекс первого элемента "Tom"
int tomFirstIndex = Array.IndexOf(people, "Tom");
// находим индекс последнего элемента "Tom"
int tomLastIndex = Array.LastIndexOf(people, "Tom");
// находим индекс первого элемента, у которого длина строки больше 3
int lengthFirstIndex = Array.FindIndex(people, person => person.Length > 3);
// находим индекс последнего элемента, у которого длина строки больше 3
int lengthLastIndex = Array.FindLastIndex(people, person => person.Length > 3);
Console.WriteLine($"bobIndex: {bobIndex}"); // 2
Console.WriteLine($"tomFirstIndex: {tomFirstIndex}"); // 0
Console.WriteLine($"tomLastIndex: {tomLastIndex}"); // 4
Console.WriteLine($"lengthFirstIndex: {lengthFirstIndex}"); // 3
Console.WriteLine($"lengthLastIndex: {lengthLastIndex}"); // 5

Agar element massivda topilmasa, usullar -1 ni qaytaradi.
Elementni shart bo‘yicha topish

bitta
2
3
4
5
6
7
sakkiz
9
10
o'n bir
12
o'n uch
14

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };

// находим первый и последний элементы
// где длина строки больше 3 символов
string? first = Array.Find(people, person => person.Length > 3);
Console.WriteLine(first); // Kate
string? last = Array.FindLast(people, person => person.Length > 3);
Console.WriteLine(last); // Alice

// находим элементы, у которых длина строки равна 3
string[] group = Array.FindAll(people, person => person.Length == 3);
foreach (var person in group) Console.WriteLine(person);
// Tom Sam Bob Tom

Massiv elementlarining tartibini o'zgartirish
Masalan, elementlarning tartibini o'zgartiramiz:

bitta
2
3
4
5
6
7

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };
Array.Reverse(people);
foreach (var person in people)
Console.Write($"{person} ");
// "Alice", "Tom", "Kate", "Bob", "Sam", "Tom"

Bundan tashqari, elementlarning faqat bir qismi tartibini o'zgartirishingiz mumkin:

bitta
2
3
4
5
6
7
sakkiz
9

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };

// изменяем порядок 3 элементов начиная c индекса 1 
Array.Reverse(people, 1, 3);
foreach (var person in people)
Console.Write($"{person} ");
// "Tom", "Kate", "Bob", "Sam", "Tom", "Alice"

Bunday holda, biz 1 indeksdan boshlab faqat 3 ta elementning tartibini o'zgartiramiz.
Massiv o‘lchamini o‘zgartirish
Massiv hajmini o'zgartirish uchun "Resize" usuli qo'llaniladi. Uning birinchi parametri o'zgaruvchan massiv, ikkinchi parametri esa massivda bo'lishi kerak bo'lgan elementlar soni. Agar ikkinchi parametr massiv uzunligidan kichik bo'lsa, u holda massiv kesiladi. Agar parametr qiymati, aksincha, kattaroq bo'lsa, massiv standart qiymatga ega bo'lgan qo'shimcha elementlar bilan to'ldiriladi. Va birinchi parametr mos yozuvlar orqali o'tkaziladi:

bitta
2
3
4
5
6
7
sakkiz

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };

// уменьшим массив до 4 элементов
Array.Resize(ref people, 4);
foreach (var person in people)
Console.Write($"{person} ");
// "Tom", "Sam", "Bob", "Kate"

Massivdan nusxa olish
Copy usuli bir massivning bir qismini boshqasiga nusxalaydi :

bitta
2
3
4
5
6
7
sakkiz
9
10
o'n bir
12

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };
var employees = new string[3];
// копируем 3 элемента из массива people c индекса 1
// и вставляем их в массив employees начиная с индекса 0
Array.Copy(people,1, employees,0, 3);
foreach (var person in employees)
Console.Write($"{person} ");
// Sam Bob Kate

Bunda biz odamlar massividan 1-indeksdan boshlab 3 ta elementni koʻchirib olib, 0-indeksdan boshlab xodimlar massiviga kiritamiz.
Massivlarni saralash
Sort () usuli yordamida massivni tartiblang :

bitta
2
3
4
5
6
7
sakkiz

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };
Array.Sort(people);
foreach (var person in people)
Console.Write($"{person} ");
// Alice Bob Kate Sam Tom Tom

Ushbu usul juda ko'p ortiqcha yuklarga ega. Masalan, bitta versiya massivning faqat bir qismini saralash imkonini beradi:

bitta
2
3
4
5
6
7
sakkiz
9

var people = new string[] { "Tom", "Sam", "Bob", "Kate", "Tom", "Alice" };
// сортируем с 1 индекса 3 элемента
Array.Sort(people, 1, 3);
foreach (var person in people)
Console.Write($"{person} ");
// Tom Bob Kate Sam Tom Alice

Xulosa.
Ikki o`lchamli statik massivlarni e`lon qilish. toifa massiv_nomi [massiv_satrlari_soni][massiv_ustunlar i_soni];
Ikki o`lchamli statik massivlarning e`lon qilinishida, bir o`lchamlidan farqi, massiv nomidan keyin qirrali qavs ichida ikkita qiymat yozilganligidadir. Bulardan birinchisi, satrlar sonini, ikkinchisi esa ustunlar sonini bildiradi. Ya'ni ikki o'lchamli massiv elementiga ikkita indeks orqali murojaat qilinadi. Ikki o`lchamli massivlar matematika kursidan ma`lum bo`lgan matritsalarni eslatadi.
Ikki o'lchamli massiv e'loniga misol:
int a[3][3], b[2][4];
A matritsa B matritsa
a00 a01 a02 b00 b01 b02 b03
a10 a11 a12 b10 b11 b12 b13
a20 a21 a22
A matritsa 3 ta satr, 3 ta ustunga ega;
B matritsa 2 ta satr, 4 ta ustunga ega;
Ikki o'lchamli massivlarda 1 - indeks satrni, 2 - indeks ustunni bildiradi.
Birinchi satrning dastlabki elementi a10 – a biru nol element deb o`qiladi. a o`n deyilmaydi.
m ta satr va n ta ustunga ega bo`lgan massivga (mxn) o`lchamli massiv deyiladi. Agar
m=n (satrlar va ustunlar soni teng) bo'lsa kvadrat massiv deyiladi.
Ko'p o'lchamli massivlarni initsializats iyalash misоllar:
int a[2][2]={1,2,7,3};
int b[2][3]={ {0,1,2}, {3,4,5} };
Massivlarni qo`llanilishiga misol keltiradigan bo`lsak, satrlar talabalarni, ustunlar fanlardan olgan baholarini bildirsin. Ya`ni m ta talaba, n ta fan. n – ustunga talabalarning o`rtacha baholari hisoblanib, shu asosida stipendiya bilan ta`minlansin.
Va hakazo, bunga o`xshash ko`plab misollar keltirish mumkin. Bu masalalarga to`xtalishdan oldin bir ikkita oddiy masalar bilan tanishib chiqaylik.
1 - Masala. A(mxn) matritsa berilgan. Shu matritsa elementlar ini kirituvchi va ekranga jadval ko`rinishida chiqaruvchi programma tuzilsin.

Download 54,14 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish