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.
Kalit massivning o’rta elementidan kichik bo’lsa, qidirishni massivning birinchi yarmidan izlaysiz.
Kalit massivning o’rta elementiga teng bo’lsa, qidirish to’xtatiladi,
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-лаборатория машғулотлари
Do'stlaringiz bilan baham: