Поменять местами первый и последний отрицательный элементы массива - Pascal ABC

Формулировка задачи:

Поменять местами первый и последний отрицательный элементы массива. Используя процедуры:init 2, print 1, swap. Пример 1 3 -8 9 -7 4 5 -9 2 ответ 1 2 -9 9 -7 4 5 -8 2

Код к задаче: «Поменять местами первый и последний отрицательный элементы массива - Pascal ABC»

textual
procedure Init(var V: TVector);
var
  i: integer;
begin
  Randomize;
  for i:=1 to 10 do begin
    V[i]:=random(21)-10;
  end;
end;
 
procedure Print(const V: TVector);
var
  i: integer;
begin
  for i:=1 to n do begin
    Write(V[i], ' ');
  end;
  WriteLn;
end;
 
procedure Swap(var V: TVector);
var
  i, tmp: integer;
  first, last: integer;
begin
  first:=0;
  for i:=1 to n do begin
    if V[i]<0 then begin
      if first=0 then first:=i;
      last:=i;
    end;
  end;
  if first>0 then begin
    tmp:=V[first];
    V[first]:=V[last];
    V[last]:=tmp;
  end;
end;
 
begin
  Init(A);
  Print(A);
  Swap(A);
  Print(A);
  ReadLn;
end.

9   голосов, оценка 3.778 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы