Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
07.06.2015
Размер:
1.56 Mб
Скачать

Задание: Задана квадратная матрица Х(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

Работа приложения

Создать и показать массив

Решение задач