const
n = 9; //константа может быть любой
type
mas = array[0..n] of integer; //тип задал только для процедуры, без подпрограмм отдельный тип не нужен
procedure copy_mas(var a, b: mas);
var
i, i1: integer;
begin
i1 : = 0;
for i : = 0 to n do
if (a[i] > = 0) and (a[i] < = 10) then
begin
b[i1] : = a[i];
i1 += 1;
end;
end;
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу на языке бэйсик. вычислить среднеарифместическое положительных элементов для массивов a(n1), b(n2), c(n3 n1, n2, n3 < =0. используя подпрограммы и функции. заранее !
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
PositiveAverage = s / k
End Function