3-amaliy ish mavzu
return binarqidiruv(arr, mid+1, r, x); } // Bu yerga yetib keladi, qachonki // x soni massiv ichidan topilmasa return
Download 69.05 Kb.
|
3-amaliy ishMTA
return binarqidiruv(arr, mid+1, r, x);
} // Bu yerga yetib keladi, qachonki // x soni massiv ichidan topilmasa return -1; } int main(void) { int arr[] = {2, 3, 4, 10, 40}; //massiv ni elementlar sonini topib olayabmiz int n = sizeof(arr)/ sizeof(arr[0]); int x = 10; int natija = binarqidiruv(arr, 0, n-1, x); (natija == -1)? printf("X soni massivni ichidan topilmadi.") : printf("X soni massivning %d - elementi.", natija); return 0; } Dastur ishlaganda " X soni massivning 3 - elementi." degan yozuvni qaytaradi. Sababi massiv elementlari 0 dan boshlanadi. Binar qidiruvning yana bir ko'rinishi Interative (ingliz tilida ) orqali ko'rsatamiz. // C++ tilida interative binar qidiruv #include // Interative binar qidiruv funksiyasi. U massivdan // x qaysi o'rinda turganini qaytaradi, // yoki -1 int binarqidiruv(int arr[], int l, int r, int x) { while (l <= r) { int m = l + (r-l)/2; // X o'rtadagi elementga tengmi yo'qmi tekshiramiz if (arr[m] == x) return m; // Agar x katta bo'lsa, chapni hisobga olmaymiz if (arr[m] < x) l = m + 1; // Aks holda o'ng tarafni hisobga olmaymiz else r = m - 1; } // Dastur bu yerga qachonki x element topilmaganda yetib keladi. return -1; } int main(void) { int arr[] = {2, 3, 4, 10, 40}; // Elementlar sonini n ga o'zlashtirayabmiz int n = sizeof(arr)/ sizeof(arr[0]); int x = 10; int natija = binarqidiruv(arr, 0, n-1, x); (natija == -1)? printf("X soni massiv ichida topilmadi.") : printf("X soni massivning %d o'rnida.", natija); return 0; } Download 69.05 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling