Из матрицы А по заданному правилу получить элементы вектора - VB

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста! Никак не соображу 2 задание (1 вроде получилось)
Листинг программы
  1. Private Sub Command1_Click()
  2. Picture1.Cls
  3. n = Val(Text1.Text)
  4. For i = 1 To n
  5. For j = 1 To n
  6. a = ((2 ^ i / i ^ 2) + (2 * j / j ^ 2)) / (Exp(i) / Exp(j))
  7. Picture1.Print Format(a, "##.###"), " ";
  8. Next j
  9. Picture1.Print Chr(13) + Chr(10)
  10. Next i
  11. End Sub
1 Рассчитать элементы квадратной матрицы 2 Из матрицы А по заданному правилу получить элементы вектора i=1,2,…,n. где bij- элементы матрицы, полученные заменой элементов побочной диагонали матрицы А на сумму поддиагональных элементов каждого столбца.

Решение задачи: «Из матрицы А по заданному правилу получить элементы вектора»

textual
Листинг программы
  1. Option Explicit
  2. Dim n As Integer, i As Integer, j As Integer
  3. Dim a() As Double, B() As Double, X() As Double, sum As Double
  4.  
  5. Private Sub Command1_Click()
  6. Picture1.Cls
  7. n = Val(Text1.Text)
  8. ReDim a(1 To n, 1 To n), B(1 To n, 1 To n), X(1 To n)
  9. Picture1.Print "Матрица А"
  10.     For i = 1 To n
  11.          For j = 1 To n
  12.                a(i, j) = ((2 ^ i / i ^ 2) + (2 * j / j ^ 2)) / (Exp(i) / Exp(j))
  13.                Picture1.Print Round(a(i, j), 3) & vbTab;
  14.          Next j
  15.          Picture1.Print
  16.     Next i
  17.     B = a  ' матрицу В приавниваем к А
  18.    Picture1.Print
  19.     Picture1.Print "Сумма элементов под побочной диагональю"
  20.     For j = 1 To n
  21.          sum = 0
  22.          For i = n - (j - 2) To n
  23.               sum = sum + B(i, j) 'вычисляем сумму под побочной диагональю
  24.         Next i
  25.          B(n - j + 1, j) = sum 'заменяем элементы побочной диагонали матрицы В на сумму поддиагональных элементов
  26.         Picture1.Print Round(sum, 3) & vbTab;
  27.     Next j
  28.     Picture1.Print vbCrLf
  29.     Picture1.Print "Матрица В"
  30.     For i = 1 To n
  31.          sum = 0
  32.          For j = 1 To n
  33.                Picture1.Print Round(B(i, j), 3) & vbTab;
  34.          Next j
  35.          Picture1.Print
  36.     Next i
  37.     Picture1.Print
  38.     Picture1.Print "Вектор Х"
  39.     For i = 1 To n
  40.          sum = 0
  41.          For j = 1 To n
  42.                sum = sum + Sin(B(i, j))
  43.          Next j
  44.          X(i) = sum
  45.          Picture1.Print Round(X(i), 3) & vbTab;
  46.     Next i
  47.     Sort X
  48.     Picture1.Print vbCrLf
  49.     Picture1.Print "Упорядоченный вектор Х (нечётные-по убыванию,чётные-по возрастанию)"
  50.     For i = 1 To n
  51.        Picture1.Print Round(X(i), 3) & vbTab;
  52.     Next i
  53. End Sub
  54.  
  55. Sub Sort(ByRef a() As Double)
  56. Dim q As Integer, i As Integer, n As Integer, tmp As Double
  57.     n = UBound(a, 1)
  58.     Do
  59.        q = 0
  60.        For i = 1 To n - 2
  61.           If i Mod 2 <> 0 Then
  62.                 If a(i + 2) > a(i) Then
  63.                    q = -1
  64.                    tmp = a(i)
  65.                    a(i) = a(i + 2)
  66.                    a(i + 2) = tmp
  67.                 End If
  68.             Else
  69.                 If a(i + 2) < a(i) Then
  70.                    q = -1
  71.                    tmp = a(i)
  72.                    a(i) = a(i + 2)
  73.                    a(i + 2) = tmp
  74.                 End If
  75.             End If
  76.        Next i
  77.        If q = 0 Then Exit Do
  78.     Loop
  79. End Sub

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


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

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

14   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы