Дано масиви дійсних чисел А(N), В(М), масив А впорядковано за зростанням. Надати i-му елементу масиву С(М) значення kі - номер елемента В[і] в масиві А (Застосувати пошук).
C++
Ответы
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;
}