Как поменять элементы главной и побочной диагоналей в Visual Basic

программирование visual basic

Sub Loo_Tabel()
Dim n, m, a, b, alg As Range
Set alg = Range("tab_alg")
alg.CurrentRegion.ClearContents
Randomize
n = Range("n")
m = Range("m")
a = InputBox("Sisestage lõigu algus", , -100)
b = InputBox("Sisestage lõigu lõpp", , 100)
Range("a") = a: Range("b") = b
ReDim Tabel(1 To n, 1 To m)
tee_tabel Tabel(), n, m, a, b
tabel_lehele Tabel(), n, m, alg
Range("sg") = Sum_Pob(Tabel(), n)
Range("sb") = Sum_Gl(Tabel(), n)
Range("rzn") = Sum_Pob(Tabel(), n) - Sum_Gl(Tabel(), n)
End Sub
Sub tee_tabel(T(), n, m, a, b)
Dim i, j
For i = 1 To n
For j = 1 To m
T(i, j) = Int((b - a) * Rnd + a)
Next j
Next i
End Sub
Sub tabel_lehele(T(), n, m, koht)
Dim i, j
For i = 1 To n
For j = 1 To m
koht.Cells(i, j) = T(i, j)
Next j
Next i
End Sub
Function Sum_Gl(T(), n)
S = 0
For i = 1 To n
S = S + T(i, n + 1 - i)
Next i
Sum_Gl = S
End Function
Function Sum_Pob(T(), n)
S = 0
For i = 1 To n
S = S + T(i, i)
Next i
Sum_Pob = S
End Function
Ответы:
Не буду разбираться в твоей программе, но элементы главной диагонали в матрице T(n, m) выглядят, как T(i, i). А элементы побочной, как T(i, m - i + 1). Соответственно, менять их надо так:
For i = 1 To n
   Q = T(i, i) : T(i, i) = T(i, m - i + 1) : T(i, m - i + 1) = Q
Next i


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.