//PascalABC.NET версия 3.2, сборка 1389 //Если программа не запускается, то обновите версию uses System.Linq; begin writeln('III'); var a := ReadArrInteger('Документы', ReadInteger('n=')).ToList; writeln;
while a.Any() do begin write(a[0], ' '); a.RemoveAt(0); if not a.Any then break;
write(a.Last, ' '); a.RemoveAt(a.Count - 1); if not a.Any then break;
var n := 0; if a.Count > 1 then n := a.Count div 2 - 1; write(a[n], ' '); a.RemoveAt(n); end; end.
// PascalABC.NET 3.3 var c:array of real; begin Writeln('1 матрица:'); var m:=ReadInteger('m ='); var n:=ReadInteger('n ='); // var a:=ReadMatrReal(m,n); var a:=MatrRandomReal(m,n,-3,7).Println(6); Writeln('2 матрица:'); var k:=ReadInteger('k ='); var l:=ReadInteger('l ='); // var b:=ReadMatrReal(k,l); var b:=MatrRandomReal(k,l,-3,7).Println(6); var s1:=a.ElementsByRow.TakeWhile(x->x>=0).Sum; writeln('s1 = ',s1); var s2:=b.ElementsByRow.TakeWhile(x->x>=0).Sum; writeln('s2 = ',s2); if s1>s2 then begin c:=ArrFill(a.GetLength(1) div 2,0.0); foreach var j in SeqWhile(1,x->x+2,x->x<a.GetLength(1)) do c[(j-1) div 2]:=a.Col(j).Average; end else begin c:=ArrFill(b.GetLength(1) div 2,0.0); foreach var j in SeqWhile(1,x->x+2,x->x<b.GetLength(1)) do c[(j-1) div 2]:=b.Col(j).Average; end; writeln('Полученный массив:'); c.Println; Sort(c); writeln('Отсортированный массив:'); c.Print; end.