Дан массив, содержащий 2014 вещественных чисел. напишите на одном из языков программирования программу, находящую в этом массиве два соседних элемента, значения которых наиболее близки, то есть абсолютная величина их разности минимальна. если таких пар несколько, можно взять любую из них. программа должна вывести найденные элементы. исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных. const n=2014; var a: array [1..n] of real; d, r: real; i, j, k: integer; begin for i: =1 to n do readln(a[i]); … end.
205
281
Ответы на вопрос:
Const n = 2014; var a: array [1..n] of real; d, r: real; i, j, k: integer; begin for i : = 1 to n do readln(a[i]); d : = abs(a[2] - a[1]); j : = 1; for i : = 2 to n - 1 do if abs(a[i + 1] - a[i]) < d then begin d : = abs(a[i + 1] - a[i]); j : = i; end; writeln(a[j], ' ', a[j + 1]) end.
Pascalabc.net 3.3.5, сборка 1659 от 09.04.2018 внимание! если программа не работает, обновите версию! function duplicates(a,b: int64): array of char; begin var ha: =a.tostring.tohashset; ha.intersectwith(b.tostring.tohashset); result: =ha.toarray end; begin var m,n: int64; write('введите через пробел два натуральных числа: '); read(m,n); var r: =duplicates(m,n); if r.length=0 then writeln('нет цифр, встречающихся в обоих числах') else r.println(',') end. примеры введите через пробел два натуральных числа: 12345 6789067 нет цифр, встречающихся в обоих числах введите через пробел два натуральных числа: 1342103 6748644 4 реализация без множеств procedure ntoarray(n: int64; a: array of boolean); begin for var i: =0 to 9 do a[i]: =false; if n=0 then a[0]: =true else while n> 0 do begin a[n mod 10]: =true; n: =n div 10 end end; function duplicates(a,b: int64): array of boolean; begin var ma: =new boolean[10]; var mb: =new boolean[10]; ntoarray(a,ma); ntoarray(b,mb); result: =new boolean[10]; for var i: =0 to 9 do result[i]: =ma[i] and mb[i] end; begin var m,n: int64; write('введите через пробел два натуральных числа: '); read(m,n); var r: =duplicates(m,n); write(' цифры: '); for var i: =0 to 9 do if r[i] then write(i,' '); writeln end. пример введите через пробел два натуральных числа: 12352423 98789635233 цифры: 2 3 5
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
adwa113eПомошник08.08.2020 14:03
-
Olegarxi12.03.2021 15:36
-
lizarozhkova0103.06.2021 16:06
-
дура5555524.07.2020 03:55
-
prencessviki11.01.2021 06:33
-
guast117.10.2022 03:19
-
egorivanov200012.03.2020 09:16
-
олжас20027.10.2022 02:58
-
alaaaaaaa05.10.2020 10:51
-
мот4302.07.2022 18:16
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.