Const n = 10; var a: array[1..n] of integer; i, j, t: integer; flag:boolean;
begin Randomize; Writeln('Исходный массив'); for i := 1 to n do begin a[i] := random(101)-50; Write(a[i]:4) end; Writeln; i:=1; repeat flag:=true; for j := 1 to n-i do if a[j] > a[j+1] then begin t := a[j]; a[j] := a[j+1]; a[j+1] := t; flag:=false end; Inc(i); until (i>n-1) or flag; Writeln('Отсортированный по возрастанию массив'); for i := 1 to n do Write(a[i]:4); Writeln end.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 begin var n:=ReadInteger('n='); var a:=ArrRandom(n,-50,50); Writeln('Исходный массив'); a.Println; var se:=a.Where(x->x mod 3=0); if se.Count=0 then Writeln('В массиве нет элементов, кратных трем') else begin var b:=se.Max; var i:=0; while a[i]<>b do Inc(i); if i=n-1 then Writeln('Максимальный элемент - последний') else begin Writeln('Результирующий массив'); a[i+1]:=abs(a.Where(x->x<0).Sum); a.Println end end end.
11010010.1000001.10000000 .1111
Объяснение: