←предыдущая следующая→
1 2
Задание №37
• Расположить в матрице A(N,N) элементы в последовательности указанной на рисунке.
Требования к программе:
• Составить программу на алгоритмическом языке, выполняющую указанные преобразования с матрицами;
• Вывести вектор, полученный случайно;
• Вывести преобразованную матрицу с новым содержимым вектора;
• Программа должна строиться таким образом, чтобы существовала возможность её использования с массивами любой размерности, содержащими произвольные элементы;
• В программе должна быть предусмотрена выдача на печать исходных и преобразованных матриц;
• Полученные результаты должны быть занесены в файл последовательного доступа и доступны для просмотра из него.
Изменённые свойства приложения
Begin VB.Form frmMain
BorderStyle = 1 'Fixed Single
Caption = "Задание №37"
ClientHeight = 4365
ClientLeft = 45
ClientTop = 435
ClientWidth = 6180
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 4365
ScaleWidth = 6180
StartUpPosition = 2 'CenterScreen
Begin VB.Frame Frame2
Caption = "Управление"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 4125
Left = 4590
TabIndex = 7
Top = 120
Width = 1485
Begin VB.CommandButton cmdSave
Caption = "&Сохранение"
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 11
Top = 1530
Width = 1245
End
Begin VB.CommandButton cmdPrint
Caption = "&Печать"
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 10
Top = 930
Width = 1245
End
Begin VB.CommandButton cmdExit
Cancel = -1 'True
Caption = "&Выход"
Height = 375
Left = 120
TabIndex = 9
Top = 3630
Width = 1245
End
Begin VB.CommandButton cmdRun
Caption = "&Решение"
Default = -1 'True
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 8
Top = 330
Width = 1245
End
End
Begin VB.TextBox txtOriginal
Height = 675
Left = 90
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 1
Top = 1350
Width = 4485
End
Begin VB.Frame Frame1
Caption = "Управление размерностью матрицы"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 885
Left = 90
TabIndex = 5
Top = 120
Width = 4515
Begin VB.TextBox txtN
Alignment = 2 'Center
Height = 285
Left = 3150
MaxLength = 4
TabIndex = 0
Top = 360
Width = 1215
End
Begin VB.Label Label2
Caption = "Чётная размерность матрицы"
Height = 255
Left = 150
TabIndex = 6
Top = 390
Width = 2895
End
End
Begin VB.TextBox txtResult
Height = 1875
Left = 90
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 2
Top = 2370
Width = 4485
End
Begin VB.Label Label3
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Caption = "Упорядоченная матрица"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 90
TabIndex = 4
Top = 2070
Width = 4485
End
Begin VB.Label Label1
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Caption = "Полученный случайный вектор"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 90
TabIndex = 3
Top = 1050
Width = 4485
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Текст программы на языке Microsoft Visual Basic 6.00 Ext
Option Explicit
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdPrint_Click()
Me.PrintForm
End Sub
Private Sub cmdRun_Click()
txtN.Enabled = False
Dim i As Integer, j As Integer
Dim t As Integer, n As Integer
Dim k As Integer, p As Integer
n = Val(txtN.Text)
txtOriginal = Empty
Dim MV As Integer
MV = n ^ 2 / 2 + n
ReDim a(n, n) As Integer
ReDim x(MV) As Integer
Randomize Timer
For i = 1 To MV
x(i) = Int(Rnd * 90) + 10
txtOriginal = txtOriginal & Str(x(i)) & " "
Next i
k = 0
For i = n To n / 2 - 1 Step -1
If i / 2 = Int(i / 2) Then
For j = n - i + 1 To i
k = k + 1: a(i, j) = x(k)
Next j
Else
For j = i To n - i + 1 Step -1
k = k + 1: a(i, j) = x(k)
Next j
End If
Next i
←предыдущая следующая→
1 2
|
|