ВУЗы и колледжи

Инфоматика, excel, VBA

Даны: квадатный массив M(i,j) размером n на n, одномерный массив a(i) размером n, где элементы массива a(i) = sin (i+i/2).
Заполнить массив M(i,j) c помощью генератора случайных чисел. Значение n ввести с клавиатуры.
Строку с номером i массива M(i,j) считаем отмеченной, если a(i)>0, и неотмеченной в противном случае.
Неободимо выполнить:
1) найти все элементы,расположенные в отмеченных строках матрицы М, и преобразовать их по правилу: отрицательные элементы заменить на -1, положительные - на 1.
2) подсчитать общее число отрицательны элементов матрицы M(i,j), расположенных в отмеченных строках.

Вывести в excel массив a(i) в столбец справа от исходной матрицы М, преобразованную матрицу М под исходной матрицей, выести рассчитанное по 2-ому пункту значение в виде сообщения. подписать в excel все выведенные данные из кода программы.
что, уже можно делать? Когда результат приносить?
Блюдечко с голубой каёмочкой обязательно?
MT
Mare Tenebrarum
33 788
Лучший ответ
Randomize
For i = 1 To pN
For j = 1 To pN
M(i, j) = 2 * Rnd - 1
Next j
Next i

' где элементы массива a(i) = sin (i+i/2).
For i = 1 To pN
A(i) = Sin(i + i / 2)
Next i

Dim nachX As Integer, nachY As Integer
nachX = 4
nachY = 3
Cells(nachX - 1, nachY - 1).Select
'ActiveCell.FormulaR1C1 = pN

Cells(nachX - 1, nachY).Select
ActiveCell.FormulaR1C1 = "Исходный двумерный массив " & CStr(pN) & "x" & CStr(pN)
Call printMatr(M, nachX, nachY)

'1) найти все элементы, расположенные в отмеченных строках матрицы М,
' и преобразовать их по правилу:
' отрицательные элементы заменить на -1, положительные на 1.
Dim schet As Integer
schet = 0
For i = 1 To pN
'Строку с номером i массива M(i,j) считаем отмеченной,
'если a(i)>0, и неотмеченной в противном случае.
If A(i) > 0 Then
For j = 1 To pN
If M(i, j) > 0 Then
M(i, j) = 1
ElseIf M(i, j) < 0 Then
M(i, j) = -1
schet = 1 + schet
End If
Next j
End If
Next i