Программа по одномерному массиву. - VB
Формулировка задачи:
Нужно создать одномерный массив с n-действительных чисел.
Запрос ввести n( A1.... An)
Вычислить:
1). Разницу между max и min елементом
2). Сумму целых частей элементов массива расположенных после первого отрицательного элемента
3). Упорядочить элементы нового массиву, чтобы элемент располагался сначала все отрецательные по спадению, а затем все положительные по росту
Заранее спасибо.
Решение задачи: «Программа по одномерному массиву.»
textual
Листинг программы
Dim A() As Single, n As Integer Dim max, min, diff As Single Dim sum As Single, c As Integer Dim arr1() As Single, i1 As Integer Dim arr2() As Single, i2 As Integer Dim arr3() As Single, i3 As Integer c = 0 n = InputBox("n") ReDim A(1 To n) For i = 1 To n A(i) = 100 * Rnd - 50 Next i max = A(1) min = A(1) For i = 1 To n If A(i) < 0 Then i1 = i1 + 1: ReDim Preserve arr1(1 To i1): arr1(i1) = A(i) ElseIf A(i) > 0 Then i2 = i2 + 1: ReDim Preserve arr2(1 To i2): arr2(i2) = A(i) Else i3 = i3 + 1: ReDim Preserve arr3(1 To i3): arr3(i3) = A(i) End If If A(i) < 0 And c = 0 Then c = i If A(i) > max Then max = A(i) If A(i) < min Then min = A(i) Next i diff = max - min sum = 0 For i = c To n sum = sum + A(i) Next i Dim temp For i = 1 To i1 For j = 1 To i1 - i If arr1(j) < arr1(j + 1) Then temp = arr1(j) arr1(j) = arr1(j + 1) arr1(j + 1) = temp End If Next j Next i For i = 1 To i2 For j = 1 To i2 - i If arr2(j) > arr2(j + 1) Then temp = arr2(j) arr2(j) = arr2(j + 1) arr2(j + 1) = temp End If Next j Next i Dim Arr() As Single, count As Single ReDim Arr(1 To n) For i = 1 To i1 Arr(i) = arr1(i) Next i For i = 1 To i3 Arr(i + i1) = arr3(i) Next i For i = 1 To i2 Arr(i + i1 + i3) = arr2(i) Next i txt = "" For i = 1 To n txt = txt & A(i) & " " Next i txt = txt & Chr(13) For i = 1 To n txt = txt & Arr(i) & " " Next i MsgBox "1 = " & diff & Chr(13) & "sum = " & sum & Chr(13) & "Array's:" & Chr(13) & Chr(13) & txt
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д