Array42. Дано число $$R$$ и массив размера $$N$$. Найти два соседних элемента массива, сумма которых наиболее близка к числу $$R$$, и вывести эти элементы в порядке возрастания их индексов (определение наиболее близких чисел дано в задании Array40).
Решение Дмитрий:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
использовать Файлы алг Array42(арг вещ R) нач файл файл1 цел i, N, NMAX вещ x1, x2, MinSumma NMAX:=100 вещтаб a[1:NMAX] файл1:=открыть на чтение ("Array42.txt") N:=0 вывод "Входные данные: " нц пока N < NMAX и не конец файла (файл1) N:=N+1 ввод файл1, a[N] вывод a[N], "; " кц вывод нс закрыть(файл1) если N > 1 то x1:=a[1] x2:=a[2] MinSumma := abs(R-(x1+x2)) нц для i от 2 до N-1 если abs(R-(a[i]+a[i+1])) < MinSumma то x1:=a[i] x2:=a[i+1] MinSumma := abs(R-(x1+x2)) все кц вывод "Два соседних элемента массива, сумма которых наиболее близка к числу R:" вывод нс, x1,", " , x2, нс иначе вывод "В файле находится один элемент" все кон |
Файл Array42.txt
1 |
4 7 -2 -1 0 -5 9 |
Задачи из раздела Array можно посмотреть здесь.
Комментарии: