Проверка строгого чередования в массиве

Дана таблица а[1..n], состоящая из нулей и единиц. Проверить существует ли строгое чередование. Для решения задачи, необходимо в цикле пройтись по всему массиву, проверяя текущий и следующий за ним элементы на чередование. Текущий элемент(a[i]) может быть равен либо единице (1), тогда следующий элемент (a[i+1]) должен будет быть равным нулю(0), либо текущий равен нулю, а следующий за ним единице.

code: #pascal
Uses Crt;
Var
a:Array[1..10] Of Integer;
Flag,i,k,n:Integer;
Begin
 ClrScr;
 Write('Количество элементов таблицы, n=');
 ReadLn(n);
 For i:=1 To n Do
 Begin
  Write('a[',i,']=');
  ReadLn(a[i]);
 End;
 i:=1;
 While i<=n-1 do
 Begin
  Flag:=0;
  If ((a[i]=1)and(a[i+1]=0))or((a[i]=0)and(a[i+1]=1))
  Then Flag:=1
  Else
  Begin
   Write('нет');
   Flag:=0;
   ReadLn;
   Halt;
  End;
  i:=i+2;
 End;
 If Flag=1 Then Write('Чередование существует');
 Readln;
End.
Поделиться:

Похожие статьи: