////////////////////////////////////////////////////////////////////////////////////////////////////////////////




Download 372.29 Kb.
Pdf ko'rish
bet6/7
Sana10.01.2024
Hajmi372.29 Kb.
#133740
1   2   3   4   5   6   7
Bog'liq
Aliyev Samandar mta-2
Yarim Statik malumotlar, 1. Axborot tizimi, tizim komponentlari va maqsadi nimadan iborat, TATU SF akademik litseyi, Mavzu Tarixni o’rganishda virtual muzeylarning o’rni, [E ECE ]TRADE WP.6 2000 12-RU, tKe3jMBqU3OiPgeJZQP6ENtc5uFR2Dqt, Doc2, 1-3 Lab-ya, 2.docx Lab-ya, 15, ABDUSATTOR VHGFFYJY, English Time 2 Students Book www.frenglish.ru, Tarix, Islom karimov nomidagi toshkent davlat-www.hozir.org, Farg‘ona politexnika instituti “kompyuterlashtirilgan loyihalash
//////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
TOPSHIRIQ 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
3.Mashina raqamlari ro‘yhati berilgan: 345, 368, 876, 945, 564, 387, 230. 
Binar qidiruvdan foydalanib berilgan raqamli mashina qaysi joyda turganini 
toping.
Dastur kodi 
#include  
#include  
#include  
// Binar qidiruv algoritmi 
int binarQidiruv(const std::vector& royhat, int qidirilayotgan) { 
int bosh = 0; 
int oxir = royhat.size() - 1; 
int orta; 
while (bosh <= oxir) { 
orta = bosh + (oxir - bosh) / 2; 
// Agar raqam topilsa, uning indeksini qaytarish 
if (royhat[orta] == qidirilayotgan) { 
return orta; 

// Agar qidirilayotgan raqam kichikroq bo'lsa, boshlang'ich indeksni 
yangilash 
if (royhat[orta] < qidirilayotgan) { 
bosh = orta + 1; 

// Aks holda, oxirgi indeksni yangilash 
else { 
oxir = orta - 1; 


// Agar raqam topilmagan bo'lsa, -1 qaytarish 
return -1; 

int main() { 
std::vector mashinaRaqamlari = {345, 368, 876, 945, 564, 387, 230}; 
int qidirilayotganRaqam; 


std::cout << "Qidirilayotgan raqamni kiriting: "; 
std::cin >> qidirilayotganRaqam; 
// Mashina raqamlarini tartiblash 
std::sort(mashinaRaqamlari.begin(), mashinaRaqamlari.end()); 
// Binar qidiruvdan foydalanib raqamni topish 
int indeks = binarQidiruv(mashinaRaqamlari, qidirilayotganRaqam); 
if (indeks != -1) { 
std::cout << "Raqam " << qidirilayotganRaqam << " ro'yhatda 
joylashgan: indeks #" << indeks << std::endl; 
} else { 
std::cout << "Raqam topilmadi" << std::endl; 

return 0; 


Download 372.29 Kb.
1   2   3   4   5   6   7




Download 372.29 Kb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Download 372.29 Kb.
Pdf ko'rish