найти номер последнего отрицательного числа в массиве Паскаль , господа.
Answers & Comments
RSteeD
Я не стану указывать эпитетов к своему коду, пусть он сам скажет за себя. Алгоритм такой: просматриваем массив от конца к началу. И завершаем работу, как только встретим отрицательный элемент. А если так и не встретим до начала массива, значит таких элементов в массиве нет.
const n=20; { размер массива } var a:array[1..n] of integer; i:integer; found:boolean; begin Randomize; Writeln('Элементы массива'); for i:=1 to n do begin a[i]:=Random(21)-10; { случайное число на интервале [-10;10] } Write(a[i]:4) end; Writeln; { собственно задание } i:=n; repeat found:=(a[i]<0); Dec(i) until (i=0) or found; if found then Writeln('Номер элемента равен ',i+1) else Writeln('Отрицательных элементов нет') end.
Answers & Comments
Алгоритм такой: просматриваем массив от конца к началу. И завершаем работу, как только встретим отрицательный элемент. А если так и не встретим до начала массива, значит таких элементов в массиве нет.
const
n=20; { размер массива }
var
a:array[1..n] of integer;
i:integer;
found:boolean;
begin
Randomize;
Writeln('Элементы массива');
for i:=1 to n do begin
a[i]:=Random(21)-10; { случайное число на интервале [-10;10] }
Write(a[i]:4)
end;
Writeln;
{ собственно задание }
i:=n;
repeat
found:=(a[i]<0);
Dec(i)
until (i=0) or found;
if found then Writeln('Номер элемента равен ',i+1)
else Writeln('Отрицательных элементов нет')
end.
Тестовое решение:
Элементы массива
-3 5 -2 3 2 -2 -5 7 9 -3 1 -2 -1 -6 1 -6 2 8 7 1
Номер элемента равен 16