Отсортировать двумерный массив - VB (59184)

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

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

Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом - все положительные (элементы, равные нулю, считать положительными).
Листинг программы
  1. For i = 1 To n
  2. For j = 1 To m - 1
  3. For k = 1 To m - 1
  4. If a(i, k) >= 0 Then
  5. tmp = a(i, k)
  6. a(i, k) = a(i, k + 1)
  7. a(i, k + 1) = tmp
  8. End If
  9. Next k
  10. Next j
  11. Next i
Суть в том, что моя программа сортирует по строчкам, т.е. поработала с первой строчкой и забыла ее. Помогите пожалуйста так чтобы программа работала со всем массивом.
Или я задание не правильно понял? У меня получается в каждой строке слева находятся отриц. элементы, а справа положит. + 0

Решение задачи: «Отсортировать двумерный массив»

textual
Листинг программы
  1. Private Sub Комманда1_Click()
  2. Dim i, j, n, m
  3. Dim a(), B(), k, tmp
  4.  
  5. n = 5
  6. m = 6
  7. ReDim a(1 To n, 1 To m)
  8. ReDim B(1 To UBound(a) * UBound(a, 2))
  9.  
  10. Randomize
  11. Cls
  12. For i = 1 To 5
  13.         For j = 1 To 6
  14.                 a(i, j) = Int(20 * Rnd - 10)
  15.                 Print a(i, j),
  16.         Next j
  17.         Print
  18. Next i
  19.  
  20. k = 0
  21. For i = 1 To 5
  22.         For j = 1 To 6
  23.             k = k + 1
  24.             B(k) = a(i, j)
  25.         Next j
  26. Next i
  27.  
  28.  
  29. For i = 1 To k - 1
  30.        For j = i To k - 1
  31.                        If B(j) >= 0 Then
  32.                             tmp = B(j)
  33.                             B(j) = B(j + 1)
  34.                             B(j + 1) = tmp
  35.                        End If
  36.             Next j
  37.    Next i
  38.    
  39.   Print
  40.   Print
  41. k = 0
  42. For i = 1 To 5
  43.         For j = 1 To 6
  44.             k = k + 1
  45.             a(i, j) = B(k)
  46.               Print a(i, j),
  47.         Next j
  48.          Print
  49. Next i
  50. End Sub

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


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

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

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

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

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

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