Вопрос по информатике:
Помогите,пожалуйста)
Дан массив из 20-ти элементов случайных чисел.Найти номера двух соседних элементов наименее отличающихся друг от друга.
Скиньте решение в паскале)
Заранее спасибо)
- 08.02.2018 13:45
- Информатика
- remove_red_eye 7769
- thumb_up 25
Ответы и объяснения 2
arr: array [1.. 20] of integer;
i, ind, diff: integer;
begin
i := 0;
ind := 0;
diff := maxint;
randomize;
for i := 1 to 20 do
begin
arr[i] := random(100);
write(arr[i], ' ');
end;
writeln(' ');
for i := 1 to 19 do
if abs(arr[i] - arr[i + 1]) < diff then
begin
diff := abs(arr[i] - arr[i + 1]);
ind := i;
end;
writeln(ind, ' ', ind + 1);
end.
- 09.02.2018 10:22
- thumb_up 14
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(20,-50,50); a.Println;
var im:=a.Pairwise.Select(t->Abs(t[0]-t[1])).ToArray.IndexMin;
Println(a[im],a[im+1]);
end.
Пример
7 -46 48 -46 -1 -33 40 -30 -45 -47 -5 14 21 -15 -17 -36 39 5 22 -19
-45 -47
- 01.01.1970 00:00
- thumb_up 14
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.