«C# dasturlash tili» O’quv qo’llanma



Download 0,57 Mb.
bet71/76
Sana20.07.2022
Hajmi0,57 Mb.
#828017
1   ...   68   69   70   71   72   73   74   75   76
Bog'liq
C # ma\'lumotnoma

DaQiQali amaliy ish



  1. Massiv elementiga nima orQali muroja etiladi?

  2. 10 ta elementdan iborat char massivini Qanday chaQirish mumkin?

  3. C# programma bajarilishi davomida massiv indekslarining chegara Qiymatlarini bajarilmasligi to’g’rimi?



Proekt 5-1. Massiv sortirovkasi

Biro’lchamli massivda ma’lumotlar indekslangan to’g’ri ro’yxatda joylashgani sababli, ularni sortirovkalash oson. Ularning ichida tez sortirovkalash algoritmi, havochali algoritm va Shell uslubi yordamidagi algoritm sortirovkasini ajratish mumkin. Eng sosn, soda va tushunarli – bu havochali algoritm hisoblanadi. Uncha effektiv bo’lmasa ham (katta massivlarni sortirovkalash uchun to’g’ri kelmaydi), lekin kata bo’lmagan massivlarga ishlatilishi mumkin.




Qo’llash yo’riQnomasi



  1. Fayl yarating va uni Bubble.cs deb nomlang.

  2. Havochali algoritm sortirovkasi o’z nomiga ishining prinsipi bilan mos ega bo’ldi. Uni yaxshilab ko’rib chiQamiz. Tasavvur Qilamizki, 20 ta elementdan iborat massiv mavjud, ularni o’sishi bo’yicha sortirovkalash kerak. 2ta yonida turuvchi Qiymatlar solishtiriladi. Agar ikkinchi elementning Qiymati birinchisinikidan kam bo’lsa, unda ayrim oraliQ o’tkazuvchanga birinchisining nomi beriladi, birinchisiga esa oraliQning Qiymati beriladi. Aytish mumkinki, elementlar joy almashadi, kam Qiymatli element massivning chap chegarasiga o’tadi. Buni havoning suvda harakatlanishiga taQQoslash mumkin – chuQurlikdan tepaga, shuning uchun algoritm shunday nomlangan. 20 ta elementdan iborat massivda barcha Qo’shni elementlarni taQQoslash uchun (birinchini ikkinchi bilan, ikinchini uchinchi bilan va h.k.) 20 – 1 q 19 taQQoslashni bajarish zarur, bunda eng kichik Qiymat so’nggi elementda (yigirmanchida) Qoladigan bo’lsa, uning massiv boshiga harakatlanishi uchun 19 ta harkatni bajarish zarur. YA’ni ikkita siklni tashkillashtirish zarur – tashQi va ichki, har biri 19 marta bajarilishi zarur.

Pastda havochali algoritmi yadrosini tashkil etuvchi kod fragmenti keltirilgan. Elementlar sortirovkasi bajariladigan massiv nums deyiladi.

G’G’ havochali algoritm sortirovkasi kodi


for (aq1; a < size; aQQ)


for(bqsize-1; b > q a; b - -) {
if(nums[b-1] > nums[b]) { G’G’ Agar avvalgi element Qiymati keyingisidan katta bo’lsa,
ular “joylari bilan almashadi”.G’G’
t q nums[b-1] – nums[b];
nums[b] – t;
}
}
Ushbu abzatsdagi material yaxshi o’zlashtirilishi uchun yana bir bor havochali algoritm prinsipini Qaytarib o’tamiz. Algoritm 2 ta for sikli asosida Qurilgan. Bir biriga yaQin turgan elementlar Qiymati ichki siklda tekshiriladi. O’sib borish asosida turmagan elementlar parasi topilganda, ular joy bilan almashadi.Har bir o’tkazilganda kichik Qiymatli elementlar o’zining Qiymatiga yarasha harakatlanadi. TashQi sikl bu protsesni massivdagi barcha elementlar sortirovkalanishigacha Qaytaradi.

  1. Quyida Bubble programmasining barcha kodi keltirilgan.

G’*
Proekt 5-1.
Programmada massiv elementlarining havochali algoritm sortirovkasi ko’rsatilgan.
*G’
using System;
class Bubble {
public static void Main () {
int[] nums – { 99,-10, 100123, 18, -978,
5623, 463, -9, 287, 49 }
int a, d, t;
int size;

size q 10; G’G’ Massiv elementlari soni.


G’G’ Birlamchi massiv elementlar Qiymatini ko’rinishi.


Console.Write(“Birlamchi massiv elementlar Qiymati: G’n”);
for(int iq0; i < size; iQQ)
Console.WriteLine();

G’G’ Bu havochali algorim sortirovkasi kodi.


for(a-I; a < size; aQQ)
for(bqsize-1; b>-a; b—{
if(nums[b-1] > nums[b] { G’G’ Agar avvalgi element Qiymati keyingisidan katta bo’lsa,
ular “joylari bilan almashadi”.G’G’

t q nums[b-1] – nums[b];


nums[b] q t;
}
}
G’G’ Sortirovkalangan massiv elementlar Qiymatini ko’rinishi.
Console.Write(“Sortirovkalangan massiv elementlar Qiymati: G’n”);
for(int iq0; i < size; iQQ)
Console.WriteLine(“ “ Q nums[i]);
Console.WriteLine();
}
}
Quyida ushbu programani bajarish natijasi ko’rsatilgan.
Birlamchi massiv elementlar Qiymati:
99, -10, 100123, 18, -978, 5623, 463, -9, 287, 49
Sortirovkalangan massiv elementlar Qiymati:
-978, -10, -9, 18, 49, 99, 287, 463, 5623, 100213
kata bo’lmagan massivlar uchun havochali algoritm orQali ma’lumotlar sortirovkasi to’g’ri kelsa, katta massivlar bilan ishlashga mo’ljallanmagan. Tez sortirovkalash algoritmi eng yaxshi universal algoritm hisoblanadi. Lekin u C# ning sizga noma’lum bo’lgan tiliga asoslangan, bu algoritm haQida 6 bobda to’xtalamiz.

Download 0,57 Mb.

Do'stlaringiz bilan baham:
1   ...   68   69   70   71   72   73   74   75   76




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©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