Показать сообщение отдельно
  #2  
Старый 05.03.2010, 02:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
program Siquence;

{$APPTYPE CONSOLE}

var
  A : Array [1..25] Of Integer;

function IsPMSiquence : Boolean;
var
  StartSign : Integer;
begin
  Result := True;
  StartSign := Sign(A[Low(A)];
  For I := Low(A) To High(A) Do
    Begin
       Result := Sign(A[i]) = StartSign;
       StartSign := StartSign * (-1);
       If Not Result Then Break;
    End; 
end;

procedure InitArray;
var
  I : Integer;
begin
  I := Low(A);
  While I <= High(A) Do
    Begin
      A[i] := Random(100) - 50; // from -50 to 49
      If A[i] = 0 Then Continue;
      Inc(I);
    End;
end;

procedure Print(All : Boolean);
var
  I : Integer;
begin
  For I := Low(A) To High(A) Do
    If (All) Or ((Not All) And (A[i] < 0)) 
      Then WriteLn(A[i]);
end;

begin
  InitArray;
  WriteLn('Generated:');
  Print(All);
  WriteLn;
  WriteLn('Result:');
  Print(IsPMSiquence);
end.

ЗЫ. Писал тута, так что могут быть синтаксические ошибки и очепятки.
Ответить с цитированием