Найти Одномерные массивы
Дан целочисленный массив из N элементов. Определить элемент массива (значение и индекс), который наиболее удален от заданного целого числа S.

#include <iostream>
#include <vector>
#include <cmath>
int main() {
int N, S;
std::cout << "Введите размер массива N: ";
std::cin >> N;
std::vector<int> arr(N);
std::cout << "Введите элементы массива:\n";
for (int i = 0; i < N; ++i) {
std::cin >> arr[i];
}
std::cout << "Введите число S: ";
std::cin >> S;
int maxDistance = 0;
int maxIndex = 0;
for (int i = 0; i < N; ++i) {
if (abs(arr[i] - S) > maxDistance) {
maxDistance = abs(arr[i] - S);
maxIndex = i;
}
}
std::cout << "Элемент массива, наиболее удаленный от числа S: " << arr[maxIndex] << " с индексом " << maxIndex << std::endl;
return 0;
}
Для нахождения элемента массива, который наиболее удален от заданного числа S, можно использовать следующий алгоритм:
1. Найти разницу между каждым элементом массива и числом S.
2. Найти абсолютное значение разницы, чтобы учесть только расстояние.
3. Найти индекс элемента, у которого абсолютное значение разницы максимально.
Вот пример на Python:
```python
def find_farthest_element(arr, S):
max_difference = float('-inf')
index = -1
for i in range(len(arr)):
difference = abs(arr[i] - S)
if difference > max_difference:
max_difference = difference
index = i
return arr[index], index
# Пример использования
array = [4, 8, 15, 16, 23, 42]
number_S = 20
result_value, result_index = find_farthest_element(array, number_S)
print(f"Элемент массива: {result_value}, Индекс: {result_index}")
```
Этот код пройдет по всем элементам массива, найдет разницу между каждым элементом и числом S, а затем вернет элемент массива и его индекс, который наиболее удален от числа S.