Сформируйте линейный массив В[1. . N*N], получающийся при чтении данного массива так, как показано на рисунке - VB

Узнай цену своей работы

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

Дан двумерный массив целых чисел

А[1..N,1..N]

. Сформируйте линейный массив

В[1..N*N]

, получающийся при чтении данного массива так, как показано на рисунке: пример программы

Решение задачи: «Сформируйте линейный массив В[1. . N*N], получающийся при чтении данного массива так, как показано на рисунке»

textual
Листинг программы
Function Zmei(A() As Integer) As integer ()
Dim R () as integer 
 
    n% = UBound(A, 2)
 
    Redim R(1 to n%*n%) As integer
    
    oo%=0
 
    ii% = n%
    jj% = n%
    
    d% = 0
    up% = 1
    le% = 1
    dw% = n
    rg% = n - 1
    
    If (n Mod 2) <> 0 Then
       i_end% = n \ 2 + 1
       j_end% = n \ 2 + 1
    Else
       i_end% = n \ 2 + 1
       j_end% = n \ 2
    End If
    
    Do
    
      oo%=oo%+1
      R(oo%)=A(ii%,jj%)
      
      If ii% = i_end% And jj% = j_end% Then Exit Sub
      
      Select Case (d%)
             Case 0
                  ii% = ii% - 1
                  If ii% = up% Then d% = 1
             Case 1
                  jj% = jj% - 1
                  If jj% = le% Then d% = -1
             Case -1
                  ii% = ii% + 1
                  If ii% = dw% Then d% = 2
             Case 2
                  jj% = jj% + 1
                  If jj% = rg% Then
                     d% = 0
                     up% = up% + 1
                     le% = le + 1
                     dw% = dw% - 1
                     rg% = rg% - 1
                  End If
      End Select
    
    Loop
 
    Zmei=R 
 
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы