From bb473155a0136f2d78e2c89e9dd936f618e854c7 Mon Sep 17 00:00:00 2001 From: Misha Date: Tue, 23 Sep 2025 20:50:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20bSearch.cpp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bSearch.cpp | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 bSearch.cpp diff --git a/bSearch.cpp b/bSearch.cpp new file mode 100644 index 0000000..990732f --- /dev/null +++ b/bSearch.cpp @@ -0,0 +1,74 @@ +#include +#include +using namespace std; + +void bSort(int arr[], int size) { + for (int i = 0; i < size - 1; ++i) { + for (int j = 0; j < size - i - 1; ++j) { + if (arr[j] > arr[j + 1]) { + int temp = arr[j]; + arr[j] = arr[j + 1]; + arr[j + 1] = temp; + } + } + } +} + +int bSearch(int arr[], int size, int target) { + int low = 0; + int high = size - 1; + + while (low <= high) { + int m = low + (high - low) / 2; + + if (arr[m] == target) { + return m; + } + else if (arr[m] < target) { + low = m + 1; + } + else { + high = m - 1; + } + } + + return -1; +} + +int main() { + srand(time(0)); + setlocale(0, ""); + + const int size = 10; + int arr[size]; + + cout << "Початковий масив: "; + for (int i = 0; i < size; ++i) { + arr[i] = rand() % 300 + 1; + cout << arr[i] << " "; + } + cout << endl; + + bSort(arr, size); + + cout << "Вiдсортований масив: "; + for (int i = 0; i < size; ++i) { + cout << arr[i] << " "; + } + cout << endl; + + int t; + cout << "Введiть елемент для пошуку: "; + cin >> t; + + int index = bSearch(arr, size, t); + + if (index != -1) { + cout << "Елемент знайдено на iндексi (у вiдсортованому масивi): " << index << endl; + } + else { + cout << "Елемент не знайдено." << endl; + } + + return 0; +} \ No newline at end of file