Написать функцию которая возвращает True, если есть пара чисел, которая удовлетворяет условие - Pascal

Узнай цену своей работы

Формулировка задачи:

Есть массив:
arr : array[1..1000] of Integer;
Заполненный случайными числами от -32,768 до 32,767. Нужно написать функцию которая возвращает True, если есть пара чисел, которая удовлетворяет условие:
arr[i] + arr[j] = 0;
Если такой пары нет, то False Пример: -7 + 7 = 0 - True

P. S: Тупо перебирать все пары нельзя, потому что массив может быть на большее количество значений и это будет не оптимальное решение.

Решение задачи: «Написать функцию которая возвращает True, если есть пара чисел, которая удовлетворяет условие»

textual
Листинг программы
function prot(const a: array of Integer): Boolean;
var i, j: Integer;
begin
  prot:=True;
  for i:=Low(a) to High(a) do
    for j:=i+1 to High(a) do
      if a[i]=-a[j] then Exit;
  prot:=False;
end;

Объяснение кода листинга программы

  1. Объявляется функция prot с входным параметром массивом целых чисел a и возвращаемым значением типа Boolean.
  2. Объявляются переменные i и j типа Integer.
  3. Происходит присваивание значения True переменной prot, что является начальным предположением.
  4. Начинается цикл: для каждого индекса i от начала массива (Low(a)) до его конца (High(a)), выполняется вложенный цикл:
    • В каждой итерации вложенного цикла значение j увеличивается на 1 относительно значения i.
    • Затем проверяется условие: если значение элемента массива с индексом i равно отрицательному значению элемента массива с индексом j, то функция возвращает значение True и завершает свою работу.
  5. Если выход из функции не был выполнен внутри цикла, то функции присваивается значение False.
  6. Конец функции. Этот код проверяет наличие в массиве пары чисел, таких что одно число является отрицательным образом другого. Если такая пара существует, функция возвращает True. Если такой пары нет, то функция возвращает False.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы