Предмет: Информатика, автор: denciklyahov

Дано масиви дійсних чисел А(N), В(М), масив А впорядковано за зростанням. Надати i-му елементу масиву С(М) значення kі - номер елемента В[і] в масиві А (Застосувати пошук).
C++

Ответы

Автор ответа: Vladimir248
0

Here is a C++ solution for finding the index of each element in array B in array A using a binary search algorithm:

Copy code

#include <iostream>

#include <algorithm>

using namespace std;

int binarySearch(int A[], int N, int x) {

   // Perform binary search to find the index of x in A

   int left = 0;

   int right = N - 1;

   while (left <= right) {

       int mid = (left + right) / 2;

       if (A[mid] == x) {

           return mid;

       }

       else if (A[mid] < x) {

           left = mid + 1;

       }

       else {

           right = mid - 1;

       }

   }

   // Return -1 if x is not found in A

   return -1;

}

int main() {

   int N, M;

   cin >> N >> M;

   int A[N], B[M], C[M];

   for (int i = 0; i < N; i++) {

       cin >> A[i];

   }

   for (int i = 0; i < M; i++) {

       cin >> B[i];

       // Find the index of B[i] in A using binary search

       int index = binarySearch(A, N, B[i]);

       C[i] = index;

   }

   for (int i = 0; i < M; i++) {

       cout << C[i] << " ";

   }

   cout << endl;

   return 0;

}

Похожие вопросы
Предмет: Математика, автор: 388168