PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018 Внимание! Если программа не работает, обновите версию!
begin Writeln('*** Исходный массив ***'); var a:=MatrRandom(10,10,-99,99); a.Println(4); Writeln(40*'-'); Writeln('Суммы по столбцам чисел, кратных 6'); a.Cols.Select(col->col.Where(t->t mod 6=0).Sum).Println end.
Const n=10; var a:array[1..n,1..n] of integer; s:array[1..n] of integer; i,j:integer; begin for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(30); write(a[i,j]:4) end; writeln end; writeln; for i:=1 to n do for j:=1 to n do if a[i,j] mod 6 = 0 then s[j]:=s[j]+a[i,j]; for i:=1 to n do if s[i]>0 then writeln('В столбце ',i:2,' сумма чисел, кратных 6, равна: ',s[i]) else writeln('В столбце ',i:2,' нет чисел, кратных 6'); readln end.
Sub z() Range(Cells(1, 1), Cells(100, 100)).Clear n1=5 n2=3 n3=4
k = 1 A = InitMatrix(n1, k, 1) k = k + n1 + 2 B = InitMatrix(n2, k, 1) k = k + n2 + 2 C = InitMatrix(n3, k, 1)
End Sub
Function InitMatrix(n, cx, cy) ReDim A(n, n) For i = LBound(A, 1) To UBound(A, 1) For j = LBound(A, 2) To UBound(A, 2) A(i, j) = Rnd * 200 - 100 Cells(cx + i, cy + j) = A(i, j) Next Next
Cells(cx, cy + n + 1) = "PositiveAverage =" Cells(cx, cy + n + 2) = PositiveAverage(A)
InitMatrix = A End Function
Function PositiveAverage(A) For i = LBound(A, 1) To UBound(A, 1) For j = LBound(A, 2) To UBound(A, 2) If A(i, j) > 0 Then s = s + A(i, j) k = k + 1 End If Next Next
var i, neg_k, pos_k, pos_s, neg_p: integer; a: array[1..n] of integer;
begin for i := 1 to n do begin a[i] := random(10 + 50) - 10; write(a[i], ' '); end; writeln();
neg_p := 1; for i := 1 to n do if a[i] > 0 then begin pos_k := pos_k + 1; pos_s := pos_s + a[i]; end else if a[i] < 0 then begin neg_k := neg_k + 1; neg_p := neg_p * a[i]; end; writeln('Positive: ', pos_k, ' ', pos_s); writeln('Negative: ', neg_k, ' ', neg_p); end.
Внимание! Если программа не работает, обновите версию!
begin
Writeln('*** Исходный массив ***');
var a:=MatrRandom(10,10,-99,99);
a.Println(4); Writeln(40*'-');
Writeln('Суммы по столбцам чисел, кратных 6');
a.Cols.Select(col->col.Where(t->t mod 6=0).Sum).Println
end.