Top.Mail.Ru
Ответы

Найти Одномерные массивы

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

По дате
По рейтингу
Аватар пользователя
Новичок
1234567891011121314151617181920212223242526272829303132
 #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.