0 / 0 / 0
Регистрация: 29.05.2018
Сообщений: 4

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

12.06.2018, 17:54. Показов 757. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано вещественное число R и массив размера n. Найти два элемента массива, сумма которых наименее близка к данному числу R.

Решение данной задачи необходимо оформить с помощью процедур. Помогите исправить типы данных в процедуре work.

Pascal
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Program zadanie_5_1_9;
const nmax=100;
type mas=array[1..nmax] of integer;
procedure Generate(var a:mas;var n:byte);
var i1,i2:integer;
    i:byte;
begin
repeat
write('Размер массива до ',nmax,' =');
readln(n);
until n in [1..nmax];
repeat
writeln('Введите границs диапазона случайных чисел i1<i2:');
readln(i1,i2);
until i1<i2;
for i:=1 to n do
a[i]:=random(i2-i1+1)+i1;
end;
procedure Vyvod(var a:mas;n:byte);
var i:byte;
begin
for i:=1 to n do
write(a[i]:4);
writeln;
end;
procedure Work(var r:real; a:mas;n:byte);
var i,j,max,min,s,imin,jmin,imax,jmax:real;
begin
 write ('Введите R: '); 
 readln (r);
 max:=1e38; min:=-1e38;
 for i:=1 to n-1 do
 for j:=i+1 to n do begin
  s:=a[i]+a[j];
  if abs(s-r)<min then begin
   min:=abs(s-r); imin:=i; jmin:=j;
  end;
  if abs(s-r)>max then begin
   max:=abs(s-r); imax:=i; jmax:=j;
  end;
 end;
 writeln ('Наиболее близки к r: a[',imin,'] и a[',jmin,'], сумма=',(a[imin]+a[jmin]):8:2);
 writeln ('Наименее близки к r: a[',imax,'] и a[',jmax,'], сумма=',(a[imax]+a[jmax]):8:2);
 writeln;
 readln;
end;
begin
writeln ('Дано вещественное число R и массив размера n. Найти два элемента массива, сумма которых наименее близка к данному числу R.');
randomize;
Generate(a,n);
Vyvod(a,n);
Work(r,a,n);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2018, 17:54
Ответы с готовыми решениями:

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

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

Дано число R и массив размера N. Найти два соседних элемента массива, сумма которых наиболее близка к числу R,и вывести эти элементы
Дано число R и массив размера N. Найти два соседних элемента мас- сива, сумма которых наиболее близка к числу R, и вывести эти элементы в...

1
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
12.06.2018, 19:13
Цитата Сообщение от lady_Jane Посмотреть сообщение
Дано вещественное число R и массив размера n. Найти два элемента массива, сумма которых наименее близка к данному числу R.
Pascal
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const nmax=100;
type mas=array[1..nmax] of integer;
procedure Generate(var a:mas;var n:byte);
var i1,i2:integer;
    i:byte;
begin
repeat
write('Размер массива до ',nmax,' =');
readln(n);
until n in [1..nmax];
repeat
writeln('Введите границs диапазона случайных чисел i1<i2:');
readln(i1,i2);
until i1<i2;
for i:=1 to n do
a[i]:=random(i2-i1+1)+i1;
end;
procedure Vyvod(var a:mas;n:byte);
var i:byte;
begin
for i:=1 to n do
write(a[i]:4);
writeln;
end;
procedure Work(a:mas;n:byte);
var i,j,imax,jmax:integer;
    r,max,s:real;
begin
 write ('Введите R: ');
 readln (r);
 max:=abs(a[1]+a[2]-r);
 for i:=1 to n-1 do
 for j:=i+1 to n do
  begin
   s:=a[i]+a[j];
   if abs(s-r)>max then
    begin
     max:=abs(s-r);
     imax:=i;
     jmax:=j;
   end;
  end;
 writeln ('Наименее близки к r: a[',imax,'] и a[',jmax,'], сумма=',(a[imax]+a[jmax]));
end;
var a:mas;
    n,i:byte;
begin
writeln ('Дано вещественное число R и массив размера n. Найти два элемента массива, сумма которых наименее близка к данному числу R.');
randomize;
Generate(a,n);
Vyvod(a,n);
Work(a,n);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.06.2018, 19:13
Помогаю со студенческими работами здесь

Найдите и выведите на экран все трехзначные числа, сумма цифр которых равна данному целому числу N
Всем привет. Нужно подробно объяснить решение задачи №2, надеюсь на ваши помощь друзья :)

Вычислить сумму ряда, полученная сумма должна быть близка к числу SQR(Pi)/8
сумма ряда 1/sqr(1)+1/sqr(3)+1/sqr(5)+1/sqr(7)+... сумма должна быть близка к числу SQR(Pi)/8 Program Sum; const...

Найти элемент массива, который наиболее близок к данному числу
Дано вещественное число R и массив размера N.Найти элемент массива,который наиболее близок к данному числу.

Найти сумму тех элементов массива, которые кратны данному числу 7
помогите пожалуйста решить задачу через паскаль В массив A занесены натуральные числа. Найти сумму тех элементов, которые кратны данному...

Найти количество элементов массива, у которых сумма и номера и элемента дают число кратное 7
1.Массив на 53 элемента заполнить случайным образом в интервале от 10 до 30. Найти количество элементов, у которых сумма и номера и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru