powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / МАССИВ
5 сообщений из 5, страница 1 из 1
МАССИВ
    #38017188
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Среда Visual Basic Visial STUDIO’2010 Professional
в массиве 11 ЦЕЛЫХ ЧИСЕЛ, каждое из которых > 0
Выбрать 3 наибольших и их вывести в порядке убывания.

Приведенный код выводит 100, 13 и 11, а должно быть 100, 13 и 12
авторDim A(11) As Integer
A = {100, 6, 12, 5, 2, 11, 3, 1, 4, 9, 13}")
Dim max1 As Integer
Dim max2 As Integer
Dim max3 As Integer
'max1 = A(0) ' присваиваю значение 0-го элемента массива
max1 = 0
max2 = 0
max3 = 0
For i% = 0 To 10
If A(i%) > max1 Then
max1 = A(i%)
i% += 1
Continue For
ElseIf A(i%) > max2 Then
max2 = A(i%)
i% += 1
Continue For
ElseIf A(i%) > max3 Then
max3 = A(i%)
End If
Next i%
СПАСИБО.
...
Рейтинг: 0 / 0
МАССИВ
    #38017217
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805Среда Visual Basic Visial STUDIO’2010 Professional
в массиве 11 ЦЕЛЫХ ЧИСЕЛ, каждое из которых > 0
Выбрать 3 наибольших и их вывести в порядке убывания.

Приведенный код выводит 100, 13 и 11, а должно быть 100, 13 и 12
авторDim A(11) As Integer
A = {100, 6, 12, 5, 2, 11, 3, 1, 4, 9, 13}")
Dim max1 As Integer
Dim max2 As Integer
Dim max3 As Integer
'max1 = A(0) ' присваиваю значение 0-го элемента массива
max1 = 0
max2 = 0
max3 = 0
For i% = 0 To 10
If A(i%) > max1 Then
max1 = A(i%)
i% += 1
Continue For
ElseIf A(i%) > max2 Then
max2 = A(i%)
i% += 1
Continue For
ElseIf A(i%) > max3 Then
max3 = A(i%)
End If
Next i%
СПАСИБО.

Код: c#
1.
A.OrderByDescending().Take(3)
...
Рейтинг: 0 / 0
МАССИВ
    #38017223
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805,

Одно слово. Отладчик. Он сделал бы проблему явной.
Подумайте: если я ничего не путаю, на момент анализа элемента (13), тройка максимумов выглядит так: 100, 12, 11. Вы берёте 13, сравниваете с 100. Меньше. Сравниваете с 12. Больше. Перезаписываете max2. Имеете тройку 100, 13, 11. Упс.
...
Рейтинг: 0 / 0
МАССИВ
    #38017318
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как отсортировать массив
A = {100, 6, 12, 5, 2, 11, 3, 1, 4, 9, 13}
????
...
Рейтинг: 0 / 0
МАССИВ
    #38017360
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / МАССИВ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]