var a: array[1..m, 1..n] of integer; i, j, t: integer; p: longint;
begin Randomize; Writeln('Исходный массив'); p := 1; for i := 1 to m do begin for j := 1 to n do begin a[i, j] := Random(19) - 9; Write(a[i, j]:3); if (abs(a[i, j]) < 1) or (abs(a[i, j]) > 5) then p := p * a[i, j] end; Writeln end; Writeln('Произведение элементов с модулем вне [1;5] равно ', p) end.
Тестовое решение: Исходный массив -8 2 7 -3 -8 5 1 -4 -3 6 9 6 Произведение элементов с модулем вне [1;5] равно 145152
2,0,334
Объяснение:
Excel VBA
Function newstr(str As String, n As Integer) As String
Dim i As Integer
For i = 1 To n
str = Replace(str, "a", "ab")
str = Replace(str, "bb", "c")
Next
newstr = str
End Function
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
После вызова из ячейки функции
= chrcount(newstr("abab"; 333); "a")&","&chrcount(newstr("abab"; 333); "b")&","&chrcount(newstr("abab"; 333); "c")
получаем результат:
2,0,334
m = 4;
n = 3;
var
a: array[1..m, 1..n] of integer;
i, j, t: integer;
p: longint;
begin
Randomize;
Writeln('Исходный массив');
p := 1;
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i, j] := Random(19) - 9;
Write(a[i, j]:3);
if (abs(a[i, j]) < 1) or (abs(a[i, j]) > 5) then p := p * a[i, j]
end;
Writeln
end;
Writeln('Произведение элементов с модулем вне [1;5] равно ', p)
end.
Тестовое решение:
Исходный массив
-8 2 7
-3 -8 5
1 -4 -3
6 9 6
Произведение элементов с модулем вне [1;5] равно 145152