Dianira
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору у меня тут большой довольно вопрос...*смущённо* значится вопрос такой. мне было дано задание "Написать подпрограммы сложения и транспонирования матриц" Но у меня написано без подпрограмм. Вышло вот это: ' Транспонирование Public Sub TranspMatrix() Dim avarMatrix() As Variant Dim avarMatrixTransp() As Variant Dim intI As Integer Dim intJ As Integer ReDim avarMatrix(1 To 3, 1 To 2) Randomize Debug.Print "Исходная матрица: " For intI = LBound(avarMatrix, 1) To UBound(avarMatrix, 1) For intJ = LBound(avarMatrix, 2) To UBound(avarMatrix, 2) avarMatrix(intI, intJ) = Int(Rnd * 10) + 1 Debug.Print avarMatrix(intI, intJ); Next intJ Debug.Print "" Next intI Debug.Print "==========================" ReDim avarMatrixTransp(1 To UBound(avarMatrix, 2), 1 To UBound(avarMatrix, 1)) Debug.Print "Транспонированая матрица: " For intJ = LBound(avarMatrix, 2) To UBound(avarMatrix, 2) For intI = LBound(avarMatrix, 1) To UBound(avarMatrix, 1) avarMatrixTransp(intJ, intI) = avarMatrix(intI, intJ) Debug.Print avarMatrixTransp(intJ, intI); Next intI Debug.Print "" Next intJ End Sub ' Суммирование Public Sub SummMatrix() Dim avarMatrix1() As Variant Dim avarMatrix2() As Variant Dim avarMatrixSumm() As Variant Dim intI As Integer Dim intJ As Integer ReDim avarMatrix1(1 To 3, 1 To 2) ReDim avarMatrix2(1 To 3, 1 To 2) ReDim avarMatrixSumm(1 To 3, 1 To 2) Randomize Debug.Print "Матрица 1: " For intI = LBound(avarMatrix1, 1) To UBound(avarMatrix1, 1) For intJ = LBound(avarMatrix1, 2) To UBound(avarMatrix1, 2) avarMatrix1(intI, intJ) = Int(Rnd * 10) + 1 Debug.Print avarMatrix1(intI, intJ); Next intJ Debug.Print "" Next intI Debug.Print "==========================" Debug.Print "Матрица 2: " For intI = LBound(avarMatrix2, 1) To UBound(avarMatrix2, 1) For intJ = LBound(avarMatrix2, 2) To UBound(avarMatrix2, 2) avarMatrix2(intI, intJ) = Int(Rnd * 10) + 1 Debug.Print avarMatrix2(intI, intJ); Next intJ Debug.Print "" Next intI Debug.Print "==========================" Debug.Print "Суммированная матрица: " For intI = LBound(avarMatrixSumm, 1) To UBound(avarMatrixSumm, 1) For intJ = LBound(avarMatrixSumm, 2) To UBound(avarMatrixSumm, 2) avarMatrixSumm(intI, intJ) = avarMatrix1(intI, intJ) + avarMatrix2(intI, intJ) Debug.Print avarMatrixSumm(intI, intJ); Next intJ Debug.Print "" Next intI End Sub преподавателя это не устроило и он попросил меня переделать, так, чтобы было с под программами. часть он написал: Option Explicit Const min1 = 1, min2 = 3, max1 = 3, max2 = 7 Sub Test() Dim intA(min1 To max1, min2 To max2) As Integer Dim intB(min1 To max1, min2 To max2) As Integer Dim intC(min1 To max1, min2 To max2) As Integer Dim intFor1 As Integer Dim intFor2 As Integer For intFor1 = min1 To max1 For intFor2 = min2 To max2 intA(intFor1, intFor2) = intFor1 intB(intFor1, intFor2) = -intFor1 intC(intFor1, intFor2) = -intFor1 Next intFor2 Next intFor1 ' SumMatrix intA, intB, intC PrintMatr intA PrintMatr intB PrintMatr intC End Sub Sub PrintMatr(intA() As Integer) Dim intI As Integer Dim intJ As Integer Debug.Print "Печать матрицы" For intI = LBound(intA, 1) To UBound(intA, 1) For intJ = LBound(intA, 2) To UBound(intA, 2) Debug.Print intA(intI, intJ); Next intJ Debug.Print Next intI End Sub не составило бы вам большого труда объяснить в чём здесь смысл вообще этой подпрограммы, т.к. я тут почти ничего не понимаю. заранее спасибо. | Всего записей: 1 | Зарегистр. 24-12-2005 | Отправлено: 23:06 24-12-2005 | Исправлено: Dianira, 23:07 24-12-2005 |
|