Muhammad al-Xorazmiy nomidagi tatu samarqand filiali


Chiziqli qidirish algoritmi



Download 384,41 Kb.
bet3/3
Sana03.01.2022
Hajmi384,41 Kb.
#314845
1   2   3
Bog'liq
Dasturlash 12.2 laboratoriya

Chiziqli qidirish algoritmi

Massiv elementlaridan chiziqli qidirish algoritmida izlanayotgan miqdorni massivning har bir elementini ketma-ket ko’rib chiqish bilan amalga oshiriladi.



2-mashq. Talabalarning Dasturlash I fanidan oraliq nazorat ballari berilgan bo’lsa, oraliq nazorati bali 60 balldan kam bo’lgan talabaning tartib raqamini va talabalar sonini aniqlovchi dastur tuzing.

Dastur kodi

#include

using namespace std;

int main()

{

int n, c=0;



cout<<"Talabalar sonini kiriting"<

cin>>n;


int talaba[n+1];

cout<<"Talabalar ballarini kiriting"<

for(int i=1; i<=n; i++)

{

cin>>talaba[i];



if (talaba[i]<60)

{

cout<

c++;

}

}



cout<<"60 dan kam bal olgan talabalar soni "<

return 0;

}

Natija

Bu yerda int talaba[n+1] yozuvida talabalar soni n ta bo’lsa, talaba[] massivida n+1 ta joy ajratadi. Talabalar tartib raqamini int i=1 deb boshlashimiz mumkin bo’ladi.



Binar qidirish algoritmi

Binar qidirish algoritmi massiv elementlaridan qidirishning keng tarqalgan usullaridan biridir. Bu qidirishda massiv elementlari tartiblangan bo’lishi kerakligi talab qilinadi. Algoritm qo’llanishi quyidagicha:

Izlanayotgan miqdor(kalit) massivning o’rtadagi elementi bilan taqqoslanadi.


  1. Kalit massivning o’rta elementidan kichik bo’lsa, qidirishni massivning birinchi yarmidan izlaysiz.

  2. Kalit massivning o’rta elementiga teng bo’lsa, qidirish to’xtatiladi,

  3. Kalit massivning o’rta elementidan yuqori bo’lsa, uning ikkinchi yarmidan izlash davom ettiriladi.

3-mashq. Foydalanuvchi tomonidan 0-99 oraliqda n ta son va key kalit soni berilgan bo’lsa, kalit miqdor massivning nechanchi elementida joylashganini aniqlovchi dastur tuzing. Agar massiv elementlari massiv elementiga teng bo’lmasa, “bunday son yuq” natijasini chiqaring.

Dastur kodi

#include

using namespace std;

//ikkilik qidirish algoritmi

int binarySearch(const int list[], int key, int listSize)

{

int low = 0;



int high = listSize - 1;

while (high >= low)

{

int mid = (low + high) / 2;



if (key < list[mid])

high = mid - 1;

else if (key == list[mid])

return mid;

else

low = mid + 1;



}

return -low - 1;

}

int main()



{

int list[10], key, listSize;

cout<<" massiv o'lchami va kalit sonni kiriting ";

cin>>listSize>>key;

cout<<"tartiblangan massiv elementlarini kiriting "<

for(int i=0; i

cin>>list[i];

if (binarySearch(list, key, listSize)>0)

cout<

else cout<<"Bunday son yuq";


return 0;
}



Massivni tartiblash

Berilgan massiv elementlarini o’sib borish (kamayish) bo’yicha joylashtirish tartiblash deyiladi.

Massiv elementlarini o’sib (kamayish) borish tartibida joylashtirish uchun massivning eng kichik(katta) elementi topilib, birinchi o’rinda turgan element bilan almashtiriladi, keying elementdan boshlab yana takrorlanadi,. Bu massivning birorta elementi qolmaguncha davom ettiriladi.

4-mashq. Foydalanuvchi tomonidan n natural soni va n ta butun son berilganda, massiv elementlarini o’sib borish tartibida joylashtiruvchi dastur tuzing



Dastur kodi

#include

using namespace std;

int main()

{

int n, t;



cout<<"massiv elementlar sonini kiriting ";

cin>>n;


int mass[n+1];

cout<<"massiv elementlarini kiriting ";

for(int i=0; i

cin>>mass[i];

//massivni tartiblash

for(int i=0;i

for(int j=i+1; j

if(mass[i]>mass[j])

{

t=mass[i];



mass[i]=mass[j];

mass[j]=t;

}

// tartiblangan massivni chiqarish



cout<<"tartiblangan massiv "<

for(int i=0; i

cout<

return 0;



}

Natija



ДАСТУРЛАШ (С++) фанидан 12.2-лаборатория машғулотлари

Download 384,41 Kb.

Do'stlaringiz bilan baham:
1   2   3




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