- Код: Выделить всё
- 'Дана матрица D(M,N).
 'Преобразовать исходную матрицу в одномерный массив W
 'по следующим правилам:
 'а) компоненты матрицы D располагаются в массиве W по строкам;
 'б) компоненты матрицы D располагаются в массиве W по столбцам.
 Sub f1_1()
 Dim m, n, W1(), W2(), D() As Integer
 Dim txt3, txt, txt2 As String
 Dim i, j, p As Byte
 m = Val(InputBox("Количество столбцов"))
 n = Val(InputBox("Количество строк"))
 If m <= 0 Or n <= 0 Then
 MsgBox "Неккоректный ввод данных!"
 GoTo fin
 End If
 ReDim D(m, n), W1(m * n), W2(m * n)
 For i = 1 To m
 For j = 1 To n
 'ввод элементов матрицы с порядковым номером
 D(i, j) = Val(InputBox("Введите элемент матрицы с порядковым номером D (" & i & "," & j & ")", "Ввод"))
 Next j
 Next i
 'по строкам
 For i = 1 To m
 For j = 1 To n
 W1(p) = D(i, j)
 p = p + 1
 Next j
 Next i
 p = 0
 'по столбцам
 For j = 1 To n
 For i = 1 To m
 W2(p) = D(i, j)
 p = p + 1
 Next i
 Next j
 For i = 1 To m
 For j = 1 To n
 txt3 = txt3 & CStr(D(i, j)) & " "
 Next j
 txt3 = txt3 & Chr(13)
 Next i
 For i = 0 To m * n
 txt = txt & CStr(W1(i)) & " "
 txt2 = txt2 & CStr(W2(i)) & " "
 Next i
 'вывод строчки
 MsgBox "Матрица: " & Chr(13) & txt3 & "По строкам: " & txt & Chr(13) & "По столбцам: " & txt2
 fin: End Sub




