Дан линейный массив A[1..N], содержащий целые числа. Найти длину наименьшего отрезка...

0 голосов
90 просмотров

Дан линейный массив A[1..N], содержащий целые числа. Найти длину наименьшего отрезка числовой прямой, содержащего все положительные элементы массива. Pascal


Информатика | 90 просмотров
0

Уточните версию Паскаля, пожалуйста)) Turbo? Free? ABC? Lazarus? Delphi? ABC.net?

0

ABC

0

.net

0

Для ABC.net Вам ответ уже дали

0

Не правильный

0

И в чём же там ошибка? Всё-таки, профф. программист ответ дал

0

Понятно, что в школе такое не проходили. Но тогда надо указывать в задании, PascalABC. Без NET, в net вот такие записи возможны. И прога будет работать, и это не нарушение

Дано ответов: 2
0 голосов
Правильный ответ

Const
K = 13;
Var
A:array[1..K] of integer;
i,Mn,Mx:integer;
Begin
Write('Исходный массив: ');
For i:= 1 to K do
    Begin
    A[i]:=random(21)-10;
    Write(A[i],' ')
    End;
WriteLn;

Mn:=A[K];
Mx:=A[K];
For i:= 1 to K-1 do
    Begin
    if (A[i]0) then Mn:=A[i];
    if (A[i]>Mx)and(A[i]>0) then Mx:=A[i];
    End;
WriteLn('Искомая длина: ',Mx-Mn);
End.

(34.0k баллов)
0 голосов
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ArrRandom(ReadInteger('n='),-20,99).Println.Where(x->x>0).OrderBy(x->x);
  Writeln('Длина отрезка равна ',s.Last-s.First)
end.
(150k баллов)
0

Хочется задать два вопроса: 1 почему не в одну строчку?)) 2 Как эта задача вообще решается?))

0

Всё ясно, благодарю! ))