Пусть с - одномерный массив, состоящий из n элементов, а g квадратная матрица nxn. в необходимо вычислить квадратную матрицу g и вывести значения её элементов на рабочий лист. вот у меня есть код vba, но его надо переделать так что бы длина вектора определялась по количеству элементов массива с: private sub commandbutton1_click() 'определяем переменную, в которой будет храниться размер матрицы dim n as integer 'определяем массив с для исходных данных и массив g 'для результирующей квадратной матрицы dim g() 'задаем значение переменной n, выбирая его из ячейки в4 n = cells(4, 2) 'выделяем память для массивов с и g redim c(1 to n), g(1 to n, 1 to n) 'вводим в массив с значений из ячеек a2: d2 for k = 1 to n c(k) = cells(2, k) next 'проводим расчет элементов матрицы 'по заданной формуле, 'организуя двойной цикл (по строкам и столбцам) for i = 1 to n for j = 1 to n if i < = j then g(i, j) = sin(c(i)) ^ 2 else g(i, j) = c(i - j) + cos(c(i)) end if 'ввод элементов полученной матрицы g в ячейки a7: d10 листа excel cells(i + 5, j) = g(i, j) next j next i end sub sub уекенаер() 'определяем переменную, в которой будет храниться размер матрицы dim n as integer 'определяем массив с для исходных данных и массив g 'для результирующей квадратной матрицы dim g() 'задаем значение переменной n, выбирая его из ячейки в4 a = inputbox("введите количества элементов массива с") activecell.formular1c1 = a n = a 'выделяем память для массивов с и g redim c(1 to n), g(1 to n, 1 to n) 'вводим в массив с значений из ячеек a2: d2 for k = 1 to n c(k) = cells(2, k) next 'проводим расчет элементов матрицы 'по заданной формуле, 'организуя двойной цикл (по строкам и столбцам) for i = 1 to n for j = 1 to n if i < = j then g(i, j) = sin(c(i)) ^ 2 else g(i, j) = c(i - j) + cos(c(i)) end if 'ввод элементов полученной матрицы g в ячейки a7: d10 листа excel cells(i + 5, j) = g(i, j) next j next i end sub