В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
cfr1
cfr1
26.02.2023 08:31 •  Информатика

Реализуйте алгоритм приближенного бинарного поиска. входные данные в первой строке входных данных содержатся числа n и k (0nk11 ). во второй строке n чисел первого массива, отсортированного по неубыванию, а в третьей строке – k чисел второго массива. каждое число в обоих массивах по модулю не превосходит 2109. выходные данные для каждого из k чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. если таких несколько, выведите меньшее из них
примеры
входные данные
5 5
1 3 5 7 9
2 4 8 1 6
выходные данные
1
3
7
1
5

Показать ответ
Ответ:
3AKBACKA
3AKBACKA
11.05.2020 06:38

1) program Array16;

var

i:integer; // счетчик в цикле

N:integer;

a: array [1..10] of integer;

begin

writeln('Введите N (N<10)');

readln(N); // ввод размера массива

for i:=1 to N do

begin

write('a[',i,']=');

readln(A[i]); // ручной ввод значений массива

end;

writeln('Результат');

for i:=1 to N do

begin

// вычисление и вывод элементов в указанном порядке

write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);

end;

end.

2) Var A:array[1..100] of integer;

i,n:byte;

Begin

write('Введите n<=100: ');readln(n);

For i:=1 to n do

Begin

A[i]:=random(31);

write(A[i]:3);

End;

writeln;

For i:=1 to n div 2 do

write(A[i]:3,A[n-i+1]:3);

if n mod 2 <>0 then write(A[n div 2+1]:3);

End.

0,0(0 оценок)
Ответ:
TToMoLLIHuK1
TToMoLLIHuK1
06.02.2020 09:21

Объяснение:

// Example program

#include <iostream>

#include <string>

int main()

{

   int k[30];

   for(int i = 0; i < 30; i ++) //заполняем случайными числами

       k[i] = rand();

   int min_sum = 999999999;

   int num1, num2;

   for(int i = 0; i < (30 - 1); i ++) //цикл поиска, i меняется от начала

                                      //до предпоследнего элемента, чтобы не выйти

                                      //за пределы при обращении к i + 1 элементу

   {

       int sum = k[i] + k[i+1];//очередная сумма

       if(sum < min_sum) //сравниваем ее с текущим минимумом

       {//если она меньше, то

           min_sum = sum;//обновляем текущую сумму

           num1 = i; num2 = i + 1;//обновляем номер

       }

   }

   //на выходе из цикла в min_sum и num1 и num2 имеем самые минимальные номера

   std::cout << "min_sum = " << min_sum << " nomer1 = " << num1 <<" nomer2 = " << num2;

}


решить задачу на C++ Дан целочисленный массив из 30 элементов. Элементы массива могут принимать прои
решить задачу на C++ Дан целочисленный массив из 30 элементов. Элементы массива могут принимать прои
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота