Написать 2 программы:1. Проверить, есть ли в массиве отрицательные элементы. Если есть, вывести а-номер первого такого элемента, b-номер последнего. (использовать барьер)2. Проверить, является ли массив целых чисел симметричным

Написать 2 программы: 1. Проверить, есть ли в массиве отрицательные элементы. Если есть, вывести а-номер первого такого элемента, b-номер последнего. (использовать барьер) 2. Проверить, является ли массив целых чисел симметричным
Гость
Ответ(ы) на вопрос:
Гость
program z1; var ar: array of integer; f, l, i, N: integer; begin        readln(N);        setlength(ar, N+1);        for i:=1 to N do read(ar[i]);        f:=-1;                 for i:=1 to N do begin                if ar[i]<0 then begin                        f:=i;                        break;                end;        end;        if f>0 then begin                for i:=N downto 1 do begin                        if ar[i]<0 then begin                                l:=i;                                break;                        end;                end;                write(f,' ', l);        end        else write('No'); end. program z2; var ar: array of integer; i, N: integer; otv: boolean; begin        readln(N);        setlength(ar, N+1);        for i:=1 to N do read(ar[i]);        for i:=1 to N div 2+1 do begin                 if ar[i]<>ar[N-i+1] then begin otv:=true; break; end;        end;        if otv=true then write('No')        else write('Yes');end.
Гость
const   n = 10; var   a: array[1..n] of integer;   i, p, q: integer;   flag: boolean; begin   {1. Инициализируем массив}   Randomize;   Write('Элементы массива: ');   for i := 1 to n do   begin     a[i] := Random(101) - 50;     Write(a[i]:5)   end;   Writeln;   {2. проверяем элементы массива на наличие отрицательных значений}   flag := true;   i := 1;   {2.1 Ищем первое по порядку отрицательное }   while flag and (i <= n) do   begin     flag := (a[i] >= 0);     i := i + 1   end;   if flag then Writeln('В массиве нет отрицательных элементов')   else begin     p := i - 1;     {2.1 Ищем последнее по порядку отрицательное }     i := n;     flag := true;     while flag and (i > p) do     begin       flag := (a[i] >= 0);       i := i - 1     end;     if flag then Writeln('В массиве один отрицательный элемент с номером ', p)     else       Writeln('Отрицательные элементы лежат в промежутко от ', p, ' до ', i + 1)   end end. Тестовое решение: Элементы массива:    17  -45  -29  -30   32  -12   29  -39   20    6 Отрицательные элементы лежат в промежутке от 2 до 8 const   nm = 50;{максимальная длина массива} var   i, n, n2: integer;   a: array[1..nm] of integer;   flag: boolean; begin   { 1. Инициализация массива }   Write('Введите количество элементов в массиве: ');   Readln(n);   Write('Введите элементы массива через пробел ');   for i := 1 to n do Read(a[i]);   { 2. Проверка симметричности массива }   flag := true;   i := 1;   n2 := n div 2;   while flag and (i <= n2) do   begin     flag := (a[i] = a[n - i + 1]);     i := i + 1   end;   if flag then Writeln('Массив является симметричным')   else Writeln('Массив не является симметричным') end. Тестовое решение: Введите количество элементов в массиве: 8 Введите элементы массива через пробел 1 7 3 4 4 2 7 1 Массив не является симметричным Введите количество элементов в массиве: 7 Введите элементы массива через пробел 8 4 9 1 9 4 8 Массив является симметричным
Не нашли ответ?
Ответить на вопрос
Похожие вопросы