// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var a1:=a[0,0]; Writeln('S=',a.ElementsByRow.Skip(1).Where(x->x>a1).Sum) end.
Пример Количество строк в массиве: 4 Количество столбцов в массиве: 5 *** Исходный массив [4,5] *** 35 24 93 -58 -89 -51 -55 -83 49 -92 -90 89 68 28 -60 46 -57 53 -78 -42
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
function IsGood(Self:integer):boolean; extensionmethod; begin (var max,var min,var n):=(0,9,abs(Self)); while n>0 do begin var d:=n mod 10; if d>max then max:=d; if d<min then min:=d; n:=n div 10 end; Result:=max-min<5 end;
function P(name:string):double; begin Result:=ReadElements&<integer>(name).Where(n->n.IsGood).Average end;
begin Writeln('Среднее арифметическое равно ',P(ReadlnString('Имя файла:'))) end.
Пример Имя файла: integers.pas Среднее арифметическое равно 1.78571428571429
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var a1:=a[0,0];
Writeln('S=',a.ElementsByRow.Skip(1).Where(x->x>a1).Sum)
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 5
*** Исходный массив [4,5] ***
35 24 93 -58 -89
-51 -55 -83 49 -92
-90 89 68 28 -60
46 -57 53 -78 -42
S=398
// Внимание! Если программа не работает, обновите версию!
function IsGood(Self:integer):boolean; extensionmethod;
begin
(var max,var min,var n):=(0,9,abs(Self));
while n>0 do begin
var d:=n mod 10;
if d>max then max:=d;
if d<min then min:=d;
n:=n div 10
end;
Result:=max-min<5
end;
function P(name:string):double;
begin
Result:=ReadElements&<integer>(name).Where(n->n.IsGood).Average
end;
begin
Writeln('Среднее арифметическое равно ',P(ReadlnString('Имя файла:')))
end.
Пример
Имя файла: integers.pas
Среднее арифметическое равно 1.78571428571429