var a: array[1..n] of integer; i: integer; flag: boolean;
begin Randomize; Writeln('Элементы массива'); for i := 1 to n do begin a[i] := Random(19999) - 9999; Write(a[i]:6); end; Writeln; i := 1; flag := False; repeat flag := (sign(a[i]) = sign(a[i + 1])); i := i + 1 until flag or (i > n); if flag then Writeln('Есть пара соседних элементов с одним знаком') else Writeln('Нет пар соседних элементов с одним знаком') end.
Тестовое решение: Элементы массива 2440 -2414 -3192 -6912 -8537 7364 2869 -2505 8875 2662 401 7398 2213 8804 2039 1485 4213 8359 -2410 -5844 Есть пара соседних элементов с одним знаком
Var k,m: integer; Dat: array[1..10]of integer; // объявление массива begin Dat[1]:=45; //заполнение массива Dat[2]:=55; //заполнение массива Dat[3]:=40; //заполнение массива Dat[4]:=15; //заполнение массива Dat[5]:=20; //заполнение массива Dat[6]:=80; //заполнение массива Dat[7]:=35; //заполнение массива Dat[8]:=70; //заполнение массива Dat[9]:=10; //заполнение массива Dat[10]:=45; //заполнение массива m:= Dat[1]; //m присваивается значение первого элемента массива for k:=2 to 10 do begin //цикл выполняющийся 8 раз (с2 до 10) if Dat[k] < Dat[1] then //сравниваются значения первого и k-ого элемента массива begin //если условие выполняется, то складывается значение первого элемента и k-ого m:= m+ Dat[k] end end; write(m); end.
эта программа складывает значения тех элементов массива, которые меньше первого элемента данного массива и сам этот первый элемент.