Замените элементы стоящие ниже главной диагонали нулями - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы