// PascalABC.NET 3.2, сборка 1407 от 18.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=MatrRandom(20,30,-30,50); a.Println(4); Writeln(4*a.ColCount*'-'); Write('Положительных по строкам: '); a.Rows.Select(r->r.Where(e->e>0).Count).Println; Write('Отрицательных по строкам: '); a.Rows.Select(r->r.Where(e->e<0).Count).Println; Write('Средние четных по строкам: '); a.Rows.Select(x->x.Where(y->y.IsEven).Average). Select(avg->Format('{0:f4}',avg)).Println; end.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 begin var n:=ReadInteger('n='); var a:=MatrixRandom(n,n,10,99); var s:=0; var k:=0; for var i:=0 to n-1 do begin for var j:=0 to n-1 do Print(a[i,j]); Writeln; if a[i,i].IsEven then begin s+=a[i,i]; Inc(k) end; end; if k>0 then Writeln('S=',s/k:0:2) else Writeln('На главной диагонали нет четных элементов') end.