Информатика 2011-2012 / Информатика-2-сем(2011) / Задания и примеры / Общая матрица Х
.doc
Задание: Задана квадратная матрица Х(n,n). Выполнить задачи: поменять местами К и К-2 строки; найти максимальный элемент на главной диагонали; поменять местами 1 и N строки матрицы; найти сумму положительных элементов на побочной диагонали; заменить элементы диагоналей на 0.
Эскиз проекта
Работа меню
Программный код
Dim X(), s As Single, i, j, n As Integer
Private Sub Command1_Click()
Работа.Enabled = True
Max = X(1, 1)
For i = 1 To n
For j = 1 To n
If i = j And X(i, j) > Max Then Max = X(i, j)
Next
Next
Command1.Caption = "Максимальный элемент на главной диагонали равен " + Str(Max)
End Sub
Private Sub Command2_Click()
Text2.Text = ""
End Sub
Private Sub Command3_Click()
Работа.Enabled = True
For i = 1 To n
For j = 1 To n
If i + j = n + 1 Then s = s + X(i, j)
Next
Next
Command3.Caption = "Сумма элементов на побочной диагонали равена " + Str(s)
End Sub
Private Sub Command4_Click()
s = 0
Command3.Caption = "Найти сумму полож. элементов на побочной диагонали"
End Sub
Private Sub Command5_Click()
Command1.Caption = "Найти мах элемент на гл. диагонали"
End Sub
Private Sub Form_Load()
Работа.Enabled = False
Command1.Enabled = False
Command3.Enabled = False
End Sub
Private Sub Выход_Click()
t = MsgBox("Вы хотите выйти? ", vbYesNo)
If t = vbYes Then End
End Sub
Private Sub ЗаменитьНа0_Click()
For i = 1 To n
For j = 1 To n
If i = j Or i + j = n + 1 Then X(i, j) = 0
Next
Next
For i = 1 To n
For j = 1 To n
Text2.Text = Text2.Text + Str(X(i, j)) + " "
Next: Text2.Text = Text2.Text + Chr(13) + Chr(10)
Next
End Sub
Private Sub Показать_Click()
For i = 1 To n
For j = 1 To n
Text1.Text = Text1.Text + Str(X(i, j)) + " "
Next: Text1.Text = Text1.Text + Chr(13) + Chr(10)
Next
End Sub
Private Sub Поменять_Click()
M: k = Val(InputBox("ввести k", , "k="))
If k > n Or k <= 2 Then MsgBox " правильно ввести значение К": GoTo M
For i = 1 To n
P = X(k, i): X(k, i) = X(k - 2, i)
X(k - 2, i) = P
Next
For i = 1 To n
For j = 1 To n
Text2.Text = Text2.Text + Str(X(i, j)) + " "
Next: Text2.Text = Text2.Text + Chr(13) + Chr(10)
Next
End Sub
Private Sub Поменять1иN_Click()
For i = 1 To n
P = X(1, i): X(1, i) = X(n, i)
X(n, i) = P
Next
For i = 1 To n
For j = 1 To n
Text2.Text = Text2.Text + Str(X(i, j)) + " "
Next: Text2.Text = Text2.Text + Chr(13) + Chr(10)
Next
End Sub
Private Sub создать_Click()
n = Val(InputBox("ввести n", , "n="))
ReDim X(n, n)
Randomize Timer
For i = 1 To n
For j = 1 To n
X(i, j) = Int(Rnd * 9)
Next
Next
Command1.Enabled = True
Command3.Enabled = True
End Sub
Работа приложения
Создать и показать массив
Решение задач