Отсортировать двумерный массив - VB (59184)
Формулировка задачи:
Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом - все положительные (элементы, равные нулю, считать положительными).
Суть в том, что моя программа сортирует по строчкам, т.е. поработала с первой строчкой и забыла ее.
Помогите пожалуйста так чтобы программа работала со всем массивом.
Листинг программы
- For i = 1 To n
- For j = 1 To m - 1
- For k = 1 To m - 1
- If a(i, k) >= 0 Then
- tmp = a(i, k)
- a(i, k) = a(i, k + 1)
- a(i, k + 1) = tmp
- End If
- Next k
- Next j
- Next i
Или я задание не правильно понял? У меня получается в каждой строке слева находятся отриц. элементы, а справа положит. + 0
Решение задачи: «Отсортировать двумерный массив»
textual
Листинг программы
- Private Sub Комманда1_Click()
- Dim i, j, n, m
- Dim a(), B(), k, tmp
- n = 5
- m = 6
- ReDim a(1 To n, 1 To m)
- ReDim B(1 To UBound(a) * UBound(a, 2))
- Randomize
- Cls
- For i = 1 To 5
- For j = 1 To 6
- a(i, j) = Int(20 * Rnd - 10)
- Print a(i, j),
- Next j
- Next i
- k = 0
- For i = 1 To 5
- For j = 1 To 6
- k = k + 1
- B(k) = a(i, j)
- Next j
- Next i
- For i = 1 To k - 1
- For j = i To k - 1
- If B(j) >= 0 Then
- tmp = B(j)
- B(j) = B(j + 1)
- B(j + 1) = tmp
- End If
- Next j
- Next i
- k = 0
- For i = 1 To 5
- For j = 1 To 6
- k = k + 1
- a(i, j) = B(k)
- Print a(i, j),
- Next j
- Next i
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д