Квадратная матрица порядка 2n - VB

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

Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера nЧn крест-накрест.


textual

Код к задаче: «Квадратная матрица порядка 2n - VB»

Private Sub Command1_Click()
Dim A(1 To 20, 1 To 20), B(1 To 20, 1 To 20) As Integer, i As Integer, j As Integer
Cls
N = InputBox("Введите размер квадратной матрицы", , 4)
Print: Print
Print "      Матрица A": Print
'Создание исходной матрицы А
For i = 1 To N
For j = 1 To N
If (i >= 1 And i <= N / 2) And (j >= 1 And j <= N / 2) Then A(i, j) = 1
If (i >= 1 And i <= N / 2) And (j >= N / 2 + 1 And j <= N) Then A(i, j) = 2
If (i >= N / 2 + 1 And i <= N) And (j >= 1 And j <= N / 2) Then A(i, j) = 3
If (i >= N / 2 + 1 And i <= N) And (j >= N / 2 + 1 And j <= N) Then A(i, j) = 4
Print "    "; A(i, j);
Next j
Print: Print
Next i
' Создание матрицы В с переставленными блоками
Print: Print
Print "      Матрица B": Print
For i = 1 To N
For j = 1 To N
If (i >= 1 And i <= N / 2) And (j >= 1 And j <= N / 2) Then B(i, j) = A(N / 2 + i, N / 2 + j)
If (i >= 1 And i <= N / 2) And (j >= N / 2 + 1 And j <= N) Then B(i, j) = A(N / 2 + i, j - N / 2)
If (i >= N / 2 + 1 And i <= N) And (j >= 1 And j <= N / 2) Then B(i, j) = A(i - N / 2, j + N / 2)
If (i >= N / 2 + 1 And i <= N) And (j >= N / 2 + 1 And j <= N) Then B(i, j) = A(i - N / 2, j - N / 2)
Print "    "; B(i, j);
Next j
Print: Print
Next i
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

12   голосов, оценка 4.250 из 5

Источник
Похожие ответы