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

В VBA

Приложения:

BobbyFresnel: Нет, xlsx - норм, не бурутся xlsm
ggobdin1: Ну короче мне нужно просто написать код с паскаля на вба)
ggobdin1: Сам я конечно попробовал сделать это, но безуспешно..
ggobdin1: Уже не добавить файл, чел ответил
BobbyFresnel: Ты определись, куда результаты выводить
ggobdin1: В msgbox
ggobdin1: Сами таблицы excel незатронуты, там в основном скрины заданий стоят. Все кнопки выводят результат в боксе)
BobbyFresnel: Э нет, в MsgBox будешь сам по 25 строк выводить! Раз не в файл, тогда на лист
ggobdin1: Бро, выручай)
ggobdin1: https://znanija.com/task/33591069

Ответы

Ответ дал: BobbyFresnel
0

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

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


ggobdin1: Бро, выручай!
ggobdin1: https://znanija.com/task/33591069
ggobdin1: Не сможешь? или что?
Вас заинтересует