Информатика, вопрос задал 123aysar321 , 9 лет назад

Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет номера двух элементов этого массива, которые расположены ближе всех друг к другу на числовой оси. Эти элементы не обязательно должны быть расположены рядом друг с другом. Если таких пар несколько, нужно вывести номера элементов самой последней из таких найденных пар.

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

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

Ответил MollyNY
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.
Новые вопросы