Получить из двух массивов новый отсортированный массив, выбрав в него только отрицательные элементы - VB

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

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

Ребята, всем привет.Помогите,пожалуйста, с задачей. Даны два числовых массива A(N) и B(M). Получить из них новый отсортированный массив, выбрав в него только отрицательные элементы. Причём сортировка желательно подсчётом. Массив я создал, а сортировка подсчётом не работает.
Листинг программы
  1. Dim A() As Integer
  2. Dim B() As Integer
  3. Dim C() As Integer
  4. Private Sub cmdRun_Click()
  5. N = Val(InputBox("N"))
  6. ReDim A(N)
  7. k = 0
  8. For i = 1 To N
  9. A(i) = Val(InputBox("введите элемент массива"))
  10. If A(i) < 0 Then k = k + 1: C(k) = A(i)
  11. Next i
  12. M = Val(InputBox(" M"))
  13. ReDim A(M)
  14. For i = 1 To M
  15. A(i) = Val(InputBox("введите элемент массива"))
  16. If A(i) < 0 Then k = k + 1: C(k) = A(i)
  17. Next i
  18. End Sub

Решение задачи: «Получить из двух массивов новый отсортированный массив, выбрав в него только отрицательные элементы»

textual
Листинг программы
  1. Dim A() As Integer
  2. Dim B() As Integer
  3. Dim C() As Integer
  4. Dim d() As Integer
  5. Dim k, n, j, i As Integer
  6. Private Sub cmdRun_Click()
  7. n = Val(InputBox("Введите N"))
  8. m = Val(InputBox("Введите M"))
  9. ReDim A(n)
  10. k = 0
  11. ReDim C(m + n)
  12. ReDim d(m + n)
  13. For i = 1 To n
  14. A(i) = Val(InputBox("Введите значение элемента массива A"))
  15. If A(i) < 0 Then k = k + 1: C(k) = A(i)
  16. Next i
  17. ReDim B(m)
  18. For i = 1 To m
  19. B(i) = Val(InputBox("Введите значение элемента массива B"))
  20. If B(i) < 0 Then k = k + 1: C(k) = B(i)
  21. Next i
  22. 'сортировка
  23. For i = 1 To k
  24. d(i) = 0
  25. Next i
  26. For i = 1 To k
  27. j = i - 1
  28. Do While j >= 1
  29. If C(i) < C(j) Then
  30. d(j) = d(j) + 1
  31. Else
  32. d(i) = d(i) + 1
  33. End If
  34. j = j - 1
  35. Loop
  36. Next i
  37. For i = m + n To 1 Step -1
  38. For j = m + n To 1 Step -1
  39. If d(j) = i - 1 And C(j) <> 0 Then Print C(j)
  40. Next j
  41. Next i
  42. End Sub

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


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

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

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

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

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

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