Вопрос задан 11.09.2018 в 16:41. Предмет Информатика. Спрашивает Белоногова Мария.

Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [

A , B ] и определяет номера двух элементов этого массива, которые расположены ближе всех друг к другу на числовой оси. Эти элементы не обязательно должны быть расположены рядом друг с другом. Если таких пар несколько, нужно вывести номера элементов самой последней из таких найденных пар. Входные данные Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 .
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Прокофьева Яна.
Const
  n = 50;// количество чиселvar
  k: array [1..n] of integer;
  i, j, n1, n2, minr, A, B: integer;begin
  writeln(n, ' ', ':D');
  A := random(1000);
  B := random(1000);
  minr := 10000;
  for i := 1 to n do
    k[i] := A + random(B);
  for i := 1 to n do
    for j := 1 to n do
      if ((abs(k[i] - k[j])) < minr) and (k[i] <> k[j]) then
      begin
        minr := abs(k[i] - k[j]);
        n1 := i;
        n2 := j;
      end;
  writeln(n1, ' ', n2);
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи можно использовать следующий алгоритм:

1. Считываем границы диапазона A и B, а также размер массива N из входной строки. 2. Создаем пустой массив размером N. 3. Заполняем массив случайными целыми числами из диапазона [A, B]. 4. Инициализируем переменные minDiff и minIndex1, minIndex2 значением "бесконечность". 5. Проходим по всем парам элементов массива (i, j), где i < j. 6. Вычисляем разницу между элементами arr[i] и arr[j] и сохраняем ее в переменную diff. 7. Если diff меньше minDiff, то обновляем значения minDiff, minIndex1 и minIndex2. 8. После завершения цикла, выводим значения minIndex1 и minIndex2.

Пример реализации данного алгоритма на языке Python:

```python import random

# Считываем входные данные A, B, N = map(int, input().split())

# Создаем массив arr = [random.randint(A, B) for _ in range(N)]

# Инициализируем переменные minDiff = float('inf') minIndex1 = -1 minIndex2 = -1

# Выполняем перебор всех пар элементов массива for i in range(N): for j in range(i+1, N): # Вычисляем разницу между элементами diff = abs(arr[i] - arr[j]) # Обновляем значения minDiff, minIndex1 и minIndex2 if diff < minDiff: minDiff = diff minIndex1 = i minIndex2 = j

# Выводим номера элементов с минимальной разницей print(minIndex1, minIndex2) ```

Пример работы программы:

Входные данные: -10 10 5

Выходные данные: 0 3

В данном примере массив размером 5 заполняется случайными целыми числами из диапазона [-10, 10]. После этого находится пара элементов с минимальной разницей, которая равна 0 и 3.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос