Сжать массив, выбросив нулевые элементы - VB

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

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

Задан массив, содержащий нулевые элементы. Сжать его , ыбросив эти элементы, порядок следования элементов не нарушать.

Решение задачи: «Сжать массив, выбросив нулевые элементы»

textual
Листинг программы
  1. Sub PressArr(X() As Integer)
  2.       n% = UBound(X, 1)
  3.       i_from% = 1
  4.       i_to% = 1
  5.       Do
  6.           If i_from% > n% Then Exit Do
  7.           If X(i_from%) = 0 Then
  8.              i_from% = i_from% + 1
  9.           Else
  10.              X(i_to%) = X(i_from%)
  11.              i_from% = i_from% + 1
  12.              i_to% = i_to + 1
  13.           End If
  14.       Loop
  15.       ReDim Preserve X(1 To i_to% - 1) As Integer
  16. End Sub
  17.  
  18. Sub Test()
  19.  
  20. Dim Z() As Integer
  21.  
  22.     ReDim Z(1 To 10) As Integer
  23.    
  24.     Z(1) = 0
  25.     Z(2) = 1
  26.     Z(3) = 0
  27.     Z(4) = 4
  28.     Z(5) = 5
  29.     Z(6) = 0
  30.     Z(7) = -1
  31.     Z(8) = 0
  32.     Z(9) = 44
  33.     Z(10) = 34
  34.    
  35.     PressArr Z
  36.  
  37.     For i% = 1 To UBound(Z, 1)
  38.         Debug.Print Z(i%)
  39.     Next i%
  40. End Sub

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


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

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

13   голосов , оценка 3.615 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы