Главная » Дано число R и массив размера N. Найти...(Си)
15:43

Дано число R и массив размера N. Найти...(Си)


Задание:

Дано число R и массив размера N. Найти два соседних элемента массива, сумма которых наиболее близка к числу R, и вывести эти элементы в порядке возрастания их индексов.(т. е. такой элемент AK, для которого величина |AK − R| является минимальной.

Решение в Pelles C:

На вход программа принимает числа через пробел: 
Первое число - размер массива N.
Второе число - само число R.
Далее через пробел пишутся N чисел (собственно сам массив).

Программа выдает во второй строке два числа, сумма которых наиболее близка к числу R.

#include <stdio.h> 
#include <math.h> 
int main(void) 

int i=0,n,r,s,k; 
scanf ("%d%d", &n, &r); 
int a[n]; 
for (i=0; i<n; i++) 
scanf ("%d", &a[i]); 
k=0; 
s=fabs(a[k]+a[k+1]-r); 
for (i=1; i<n-1; i++) 

if (fabs(a[i]+a[i+1]-r)<s) 

s=fabs(a[i]+a[i+1]-r); 
k=i; 


printf ("%d %d\n", a[k], a[k+1]); 
return 0; 
}


Похожие материалы:
Нашли ошибку на сайте? Напишите в комментариях!
Категория: Язык программирования: Си/Си++ | Просмотров: 435 | Добавил: Ученик | Рейтинг: 5.0/1