Замените элементы стоящие ниже главной диагонали нулями - VB
Формулировка задачи:
В массиве R(5x5) замените элементы стоящие ниже главной диагонали нулями. Заранее спс)
Решение задачи: «Замените элементы стоящие ниже главной диагонали нулями»
textual
Листинг программы
Dim sT As String Dim iI As Integer Dim iJ As Integer Dim iMatrixN As Integer Dim dMatrix() As Double ' 'iMatrixN = CInt(Val(InputBox("N=", "Квадратная матрица NxN"))) iMatrixN = 5 ' Эту строку убрать, а в предыдущей строке раскоментить ' ReDim dMatrix(1 To iMatrixN, 1 To iMatrixN) As Double ' это чтоб не думалось ' ' Заполняем матрицу. 'For iI = LBound(dMatrix, 1) To UBound(dMatrix, 1) Step 1 ' For iJ = LBound(dMatrix, 2) To UBound(dMatrix, 2) Step 1 ' ' Персональное приглашение для каждой переменной ' sT = "X(" + Trim$(Str$(iI)) + "," + Trim$(Str$(iJ)) + ")=" ' ' Вводим элементы матрицы ' dMatrix(iI, iJ) = CDbl(Val(InputBox(sT, "Элементы матрицы"))) ' Next iJ 'Next iI ' Блок убрать, а предыдущий раскоментить ' ------------------------------ ' Мне было влом каждый раз при отладки матрицу с клавиатуры вводить. :-) dMatrix(1, 1) = 1.2 dMatrix(1, 2) = 5.7 dMatrix(1, 3) = 11.2 dMatrix(1, 4) = 21.3 dMatrix(1, 5) = 10.5 ' dMatrix(2, 1) = 7 dMatrix(2, 2) = 15.7 dMatrix(2, 3) = 11.8 dMatrix(2, 4) = 21.9 dMatrix(2, 5) = 1.2 ' dMatrix(3, 1) = 2 dMatrix(3, 2) = 8 dMatrix(3, 3) = 1.82 dMatrix(3, 4) = 21.02 dMatrix(3, 5) = 10.02 ' dMatrix(4, 1) = 5 dMatrix(4, 2) = 7.7 dMatrix(4, 3) = 12.4 dMatrix(4, 4) = 11.2 dMatrix(4, 5) = 10.1 ' dMatrix(5, 1) = 4 dMatrix(5, 2) = 9 dMatrix(5, 3) = 11.5 dMatrix(5, 4) = 21.2 dMatrix(5, 5) = 3.2 ' ------------------------------ sT = "" ' А вот это - обязательно For iI = LBound(dMatrix, 1) To UBound(dMatrix, 1) Step 1 For iJ = LBound(dMatrix, 2) To UBound(dMatrix, 2) Step 1 sT = sT + Trim$(Str$(dMatrix(iI, iJ))) + ";" + Chr$(9) Next iJ sT = sT + Chr$(13) + Chr$(10) Next iI sT = sT + Chr$(13) + Chr$(10) sT = sT + Chr$(13) + Chr$(10) sT = sT + Chr$(13) + Chr$(10) txtMatrix.Text = sT ' ' Обрабатываем матрицу в цикле. For iI = LBound(dMatrix, 1) To UBound(dMatrix, 1) Step 1 For iJ = LBound(dMatrix, 2) To UBound(dMatrix, 2) Step 1 If iJ < iI Then dMatrix(iI, iJ) = 0 End If Next iJ Next iI ' For iI = LBound(dMatrix, 1) To UBound(dMatrix, 1) Step 1 For iJ = LBound(dMatrix, 2) To UBound(dMatrix, 2) Step 1 sT = sT + Trim$(Str$(dMatrix(iI, iJ))) + ";" + Chr$(9) Next iJ sT = sT + Chr$(13) + Chr$(10) Next iI txtMatrix.Text = sT
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д