Интерпретировать данный код из языка c++

в vba

1lilita 1lilita    1   28.11.2019 15:54    2

Ответы
ники2017 ники2017  23.08.2020 09:51

Sub abcd()

   Dim a(1 To 10, 1 To 10) As Double

   Dim n As Integer, m As Integer, i As Integer, j As Integer

   Dim imx As Integer, jmx As Integer

   Dim mx As Double

   Range(Cells(1, 1), Cells(30, 20)).Clear

   Do

       n = CInt(InputBox("Введите размер матрицы от 2 до 10"))

   Loop Until n >= 2 And n <= 10

   Randomize Timer

   Cells(1, 1) = "Исходная матрица"

   For i = 1 To n

       For j = 1 To n

           a(i, j) = 18 * Rnd - 9

           If i + j = 2 Then

               mx = a(1, 1)

               imx = 1

               jmx = 1

           Else

               If Abs(a(i, j)) > Abs(mx) Then

                   mx = a(i, j)

                   imx = i

                   jmx = j

               End If

           End If

       Next j

   Next i

   Dim r As Range

   Set r = Range(Cells(2, 1), Cells(1 + n, n))

   r = a

   r.NumberFormat = "0.00"

   Dim cr As Integer

   cr = n + 2

   Cells(cr, 1) = "Максимальный по модулю элемент= " + Format(mx, "##0.00") + _

       " в строке " + CStr(imx) + " в столбце " + CStr(jmx)

   cr = cr + 1

   m = n

   If imx < m Then

       For i = imx To m - 1

           For j = 1 To n

               a(i, j) = a(i + 1, j)

           Next j

       Next i

   End If

   m = m - 1

   If jmx < n Then

       For j = jmx To n - 1

           For i = 1 To m

               a(i, j) = a(i, j + 1)

           Next i

       Next j

   End If

   n = n - 1

   Cells(cr, 1) = "Удаление строки " + CStr(imx) + " и столбца " + CStr(jmx)

   Set r = Range(Cells(cr + 1, 1), Cells(cr + n, n))

   r = a

   r.NumberFormat = "0.00"

End Sub

Вывод будет или на лист, куда вставлен код (или где кнопка с кодом), или на текущий лист, если код сделать модулем проекта.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика