Найти сумму трёх наибольших из элементов массива - VB
Формулировка задачи:
Добрый день, нужна помощь в написании программного кода.
Вот задание:Ввести массив из десяти двузначных чисел. Найти и вывести на экран сумму трёх наибольших из этих чисел.
Буду очень Вам благодарен.
Решение задачи: «Найти сумму трёх наибольших из элементов массива»
textual
Листинг программы
Public Class Form2
'создаем массив из 10 двухзначных чисел
Dim mass() As Integer = {15, 34, 45, 51, 13, 67, 10, 48, 82, 55}
Dim max1 As Integer = mass(0) 'объявляем переменную первого наибольшего элемента массива
Dim max2 As Integer = mass(0) 'второго
Dim max3 As Integer = mass(0) 'третьего
'для моего метода поиска нужно создать три переменных, в которых записаны индексы наибольших элементов массива
Dim max1_index As Integer
Dim max2_index As Integer
Dim max3_index As Integer
Dim max_summ 'ну и сама сумма
'я делал приложение windows forms (не консольное), на форму тебе надо нацепить 4 лейбла.
'все нужные действия происходят при загрузке формы
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'создаем цикл, который шерстит весь наш массив. предполагаем, что первый элемент массива - максимальный, и перебираем все элементы, сравниваем их
' и если текущий элемент больше, то принимаем его за максимальный
For i = 0 To 9
If max1 < mass(i) Then
max1 = mass(i)
max1_index = i
End If
Next
'выводим на экран первый наиб.эл.
Label1.Text = "Первый наибольший элемент массива = " + max1.ToString
'теперь мы исключаем самый наибольший элемент, найденный в первом цикле, и создаем новый цикл, работает аналогично.
For i = 0 To 9
If i <> max1_index Then
If max2 < mass(i) Then
max2 = mass(i)
max2_index = i
End If
End If
Next
'второй на экран
Label2.Text = "Второй наибольший элемент массива = " + max2.ToString
'последний цикл, работает также, как и остальные, только исключаем второй наибольший элемент.
For i = 0 To 9
If i <> max2_index And i <> max1_index Then
If max3 < mass(i) Then
max3 = mass(i)
max3_index = i
End If
End If
Next
'третий на экран
Label3.Text = "Третий наибольший элемент массива = " + max3.ToString
'ищем сумму
max_summ = mass(max1_index) + mass(max2_index) + mass(max3_index)
'выводим на экран сумму
Label4.Text = "Сумма трех наибольших элементов массива = " + max_summ.ToString
End Sub
End Class