Sub Strange()
Dim r As Range, a As Variant, b As Variant, e As Variant, Max As Variant
Set r = Selection
a = r
Max = -1E+100
For Each e In a
If e < 0 And e > Max Then
Max = e
End If
Next
Dim i As Integer, j As Integer
b = a
j = LBound(b, 2) - 1
For i = LBound(a, 2) To UBound(a, 2)
If a(1, i) = Max Then
j = j + 1
b(1, j) = i
Set r = Range(Cells(2, 1), Cells(2, j))
Rows(2).Clear
r = b
End Sub
function MyCool(a: array of integer): array of integer;
begin
Result := new integer[6];
var (min, max, kn, kp, kz) := (a[0], a[0], 0, 0, 0);
for var i:= 0 to a.High do
if a[i] > 0 then kp += 1;
if a[i] = 0 then kz += 1;
if a[i] < 0 then kn += 1;
if a[i] > max then max := a[i];
if a[i] < min then min := a[i]
end;
Result[0] := max;
Result[1] := min;
Result[2] := kn;
Result[3] := kp;
Result[4] := kz;
Result[5] := kp + kz
var a := ArrRandom(10, -10, 10);
a.Println;
var b := MyCool(a);
Println('Значение наибольшего элемента массива:', b[0]);
Println('Значение наименьшего элемента массива:', b[1]);
Println('Количество отрицательных элементов массива:', b[2]);
Println('Количество положительных элементов массива:', b[3]);
Println('Количество нулевых элементов массива:', b[4]);
Println('Количество неотрицательных элементов массива:', b[5])
end.
Sub Strange()
Dim r As Range, a As Variant, b As Variant, e As Variant, Max As Variant
Set r = Selection
a = r
Max = -1E+100
For Each e In a
If e < 0 And e > Max Then
Max = e
End If
Next
Dim i As Integer, j As Integer
b = a
j = LBound(b, 2) - 1
For i = LBound(a, 2) To UBound(a, 2)
If a(1, i) = Max Then
j = j + 1
b(1, j) = i
End If
Next
Set r = Range(Cells(2, 1), Cells(2, j))
Rows(2).Clear
r = b
End Sub
function MyCool(a: array of integer): array of integer;
begin
Result := new integer[6];
var (min, max, kn, kp, kz) := (a[0], a[0], 0, 0, 0);
for var i:= 0 to a.High do
begin
if a[i] > 0 then kp += 1;
if a[i] = 0 then kz += 1;
if a[i] < 0 then kn += 1;
if a[i] > max then max := a[i];
if a[i] < min then min := a[i]
end;
Result[0] := max;
Result[1] := min;
Result[2] := kn;
Result[3] := kp;
Result[4] := kz;
Result[5] := kp + kz
end;
begin
var a := ArrRandom(10, -10, 10);
a.Println;
var b := MyCool(a);
Println('Значение наибольшего элемента массива:', b[0]);
Println('Значение наименьшего элемента массива:', b[1]);
Println('Количество отрицательных элементов массива:', b[2]);
Println('Количество положительных элементов массива:', b[3]);
Println('Количество нулевых элементов массива:', b[4]);
Println('Количество неотрицательных элементов массива:', b[5])
end.