Нужна помощь в переводе программ с языка Pascal в VBA 1)В целочисленной последовательности есть нулевые элементы. Создать массив
Нужна помощь в переводе программ с языка Pascal в VBA 1)В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов. a, b : array [1..1000] of integer; n, m, i : integer; begin read (n); for i := 1 to n do read (a[i]); m := 0; for i := 1 to n do if a[i] = 0 then begin m := m + 1; b[m] := i; end; for i := 1 to m do write (b[i], ' '); end. 2)Элементарные операции с матрицами: (A^2+E)*6, А-произвольная матрица, Е-единичная матрица
Sub num1() s = 0 n = CInt(InputBox("N =")) Range(Cells(1, 1), Cells(2 * (n + 2), n + 2)).Clear ReDim A(n - 1) ReDim B(n - 1)
k = 1 Cells(k, 1).Value = "A" Cells(k + 2, 1).Value = "B" k = k + 1
m = -1 For i = LBound(A, 1) To UBound(A, 1) A(i) = Round(Rnd * 10) - 5 Cells(k, 1 + i).Value = A(i) If A(i) = 0 Then m = m + 1 B(m) = i Cells(k + 2, m + 1).Value = B(m) End If Next End Sub
Sub num2() n = 16 ReDim A(n, n), C(n, n), E(n, n) Range(Cells(1, 1), Cells(2 * (n + 2), n + 2)).Clear
k = 1 Cells(k, 1).Value = "Init"
k = k + 1 Cells(k + n + 1, 1).Value = "Result"
For i = 0 To n For j = 0 To n A(i, j) = Round(Rnd * 10) Cells(k + i, j + 1).Value = A(i, j)
If i = j Then E(i, j) = 1 Else E(i, j) = 0
C(i, j) = 0 For r = 0 To n C(i, j) = C(i, j) + A(i, r) * A(r, j) Next
x = 6 * (C(i, j) + E(i, j)) Cells(k + n + 2 + i, j + 1).Value = x Next Next End Sub