Отсортировать элементы массива по возрастанию предварительно возведя каждый элемент массива в квадрат - VB
Формулировка задачи:
Помогите написать программу в Visual Basic, плиз.
Дан массив А={А0, А1,...,An}.
Задание 1. Преобразовать массив с обратной последовательностью.
Задание 2. Отсортировать элементы массива по возрастанию предварительно возведя каждый элемент массива в квадрат.
Прошу не ругайте, я видел на форуме похожие задачи с минимальными отличиями, но я очень плох в програмировании и не смог их скомпановать. Если можно напишите с пояснениями действий, т.к. мне похоже мне не дано понять программирования
Решение задачи: «Отсортировать элементы массива по возрастанию предварительно возведя каждый элемент массива в квадрат»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim a(), N As Integer, i As Integer, tmp, str_m As String
- N = Abs(Val(InputBox("N-?", , 10)))
- ReDim a(N)
- Randomize
- str_m = ""
- For i = 1 To N
- a(i) = Int((Rnd * 100))
- str_m = str_m & a(i) & " "
- Next i
- str_m = str_m & vbCrLf
- For i = 1 To N
- If i <= N \ 2 Then _
- tmp = a(i): a(i) = a(N - i + 1): a(N - i + 1) = tmp
- str_m = str_m & a(i) & " "
- Next i
- MsgBox str_m
- End Sub
- Private Sub Command2_Click()
- Dim N As Integer, i As Integer, j As Integer, tmp
- Dim c()
- N = Abs(Val(InputBox("N-?", , 10)))
- ReDim c(N)
- Randomize
- str_m = ""
- For i = 1 To N
- c(i) = Int((Rnd * 99))
- str_m = str_m & c(i) & " "
- Next i
- str_m = str_m & vbCrLf
- For i = 1 To N
- c(i) = c(i) ^ 2
- str_m = str_m & c(i) & " "
- Next i
- str_m = str_m & vbCrLf
- For i = 1 To N - 1
- For j = i To N
- If c(i) > c(j) Then
- tmp = c(i): c(i) = c(j): c(j) = tmp
- End If
- Next j
- str_m = str_m & c(i) & " "
- Next i
- str_m = str_m & c(N)
- MsgBox str_m
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д