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

В заданном одномерном массиве определить номер последнего отрицательного элемента.паскаль

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

Ответил anknown
0
var a:array[1..10000] of longint;
i,n,last:longint;
begin
{Считываем массив}
read(n);
for i:=1 to n do read(a[i]);

last := 0;
for i := 1 to n do
  if a[i] < 0 then last := i;

if last = 0 then
  write('Отрицательных нету')
else
  write('Последний отрицательный - ', i);
end.
Ответил rahaev2010
0
спасибо)
Ответил Аноним
0
Да... 10 тысяч элементов ввести руками - это не хухры-мухры! )))
Ответил anknown
0
Дак сначала вводится число N -- можно тогда не 10000, а сколько тебе надо.
т.е. вводишь 3 потом 1 2 3
Ответил Аноним
0
Да не про это речь - зачем ОБЪЯВЛЯТЬ 10 тыс элементов?
Ответил anknown
0
Если код проверяется автоматизированной системой, там часто бывают большие ограничения и длинные тесты
Ответил Аноним
0
const
  n = 20;

var
  x: array[1..n] of integer;
  i: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  i := n;
  for i := 1 to n do
  begin
    x[i] := Random(101) - 50;
    Write(x[i]:4);
  end;
  Writeln;
  while (i >= 1) and (x[i] >= 0) do i := i - 1;
  if i > 0 then
    Writeln('Последний отрицательный элемент x[', i, ']=', x[i])
  else
    Writeln('Нет отрицательных элементов')
end.

Тестовое решение:
Элементы массива
   5  -9 -32 -48  33   2 -41  24  31 -31 -48 -24 -17  45 -41 -23  -1  38  45  14
Последний отрицательный элемент x[17]=-1


Ответил rahaev2010
0
спасибо)
Новые вопросы