Напишите программу, которая заполняет массив из 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.
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.
Новые вопросы
Математика,
2 года назад
Английский язык,
2 года назад
История,
9 лет назад
Математика,
9 лет назад
История,
9 лет назад