Другие языки программирования и технологии

Помогите с кодом к заданию на VBA.

Дан массив Z(10). Расположить элементы массива в порядке убывания
 Sub SortDescending() 
Dim Z(1 To 10) As Integer
Dim i As Integer, j As Integer, Temp As Integer

'Инициализируем массив случайными числами
For i = 1 To 10
Z(i) = Int(Rnd() * 100)
Next i

'Сортировка элементов массива в порядке убывания
For i = 1 To 9
For j = i + 1 To 10
If Z(i) < Z(j) Then
Temp = Z(i)
Z(i) = Z(j)
Z(j) = Temp
End If
Next j
Next i

'Выводим отсортированные элементы массива
For i = 1 To 10
Debug.Print Z(i)
Next i
End Sub
Евгений Сокур
Евгений Сокур
392
Лучший ответ
 print (sorted(z, reverse=True)) 
Конечно, вот простой код на VBA, который сортирует массив Z(10) в порядке убывания:
 Sub SortArrayDescending() 
Dim Z(1 To 10) As Integer
Dim i As Integer, j As Integer, temp As Integer

' Инициализируем массив случайными числами
For i = 1 To 10
Z(i) = Int(Rnd() * 100)
Next i

' Сортируем массив в порядке убывания
For i = 1 To 9
For j = i + 1 To 10
If Z(i) < Z(j) Then
temp = Z(i)
Z(i) = Z(j)
Z(j) = temp
End If
Next j
Next i

' Выводим отсортированный массив в окне сообщений
MsgBox Join(Z, ", ")
End Sub

Этот код создает массив Z(10) и инициализирует его случайными числами от 0 до 99. Затем он использует алгоритм сортировки пузырьком для сортировки массива в порядке убывания. Наконец, отсортированный массив выводится в окне сообщений.

Обратите внимание, что если вы хотите использовать другой тип данных для массива, например, числа с плавающей точкой или строки, вам нужно изменить тип данных в объявлении массива и в соответствующих местах в коде.

Также обратите внимание, что этот код сортирует массив на месте, то есть изменяет порядок элементов в массиве Z. Если вы хотите оставить исходный массив без изменений и получить новый отсортированный массив, вам нужно создать новый массив и скопировать элементы из отсортированного массива в новый массив.
Ринат Хайров
Ринат Хайров
3 520
 Sub SortDescending() 
Dim Z(10) As Integer ' объявляем массив и заполняем его случайными числами
Dim i As Integer, j As Integer, temp As Integer

For i = 0 To 9
Z(i) = Int(Rnd() * 100) ' заполняем массив случайными числами от 0 до 99
Debug.Print Z(i) ' выводим элементы массива на экран (для проверки)
Next i

' сортировка методом пузырька
For i = 0 To 8
For j = i + 1 To 9
If Z(i) < Z(j) Then ' если элемент на i-ой позиции меньше элемента на j-ой позиции
temp = Z(i) ' меняем их местами
Z(i) = Z(j)
Z(j) = temp
End If
Next j
Next i

' выводим отсортированные элементы массива на экран
Debug.Print "Sorted array:"
For i = 0 To 9
Debug.Print Z(i)
Next i
End Sub