Сортировка целочисленных массивов в VB.NET
У меня есть двумерный целочисленный массив x, y, как показано ниже
{1160, 0}, {1560, 400}, {11940, 10380}, {12480, 540}, {12540, 60}, {12600, 60}, {12720, 120}, {13120, 400}, {13380, 260}, {13680, 300}, {14000, 320}
Мне нужно выбрать {13120, 400}, так как x является самым высоким, а y-самым высоким при сравнении с другими элементами y, соответствующими самому высокому значению x. Я делаю это в VB.NET. Мы очень ценим вашу помощь. Спасибо.
Что я уже пробовал:
For intIndex As Integer = 0 To a.GetUpperBound(0) If a(intIndex, 0) > intCurrentHighestValue Then intCurrentHighestValue = a(intIndex, 0) intCurrentHighestValue2 = -1 End If If a(intIndex, 0) = intCurrentHighestValue Then If a(intIndex, 1) > intCurrentHighestValue2 Then intCurrentHighestValue2 = a(intIndex, 1) End If End If Next
ZurdoDev
Так где же ты застрял?
Rajaram24101984
Я не получил ожидаемого результата.. это приносит наивысшую ценность
Richard Deeming
В какой странной вселенной 13120
выше, чем 14000
?!
Nelek
Сначала найдите MAX на Y, из всех возможных Y (400 в данном случае) найдите max X (13120 в данном случае).
Сначала найдите самый высокий Y, затем самый высокий X
Просто не очень хорошо сформулировано :)
Richard Deeming
В этом случае, конечно, вы найдете третий пункт, который имеет y = 10380
, что явно выше, чем 400
?
Nelek
правда: doh:: doh:
Rajaram24101984
14000 имеет более низкое значение по сравнению со стоимостью 13120 г
Richard Deeming
И 13120
имеет более низкую y
значение чем 11940
.
Так 13120
это неправильно, если вы ищете самую высокую ценность x
, и это неправильно, если вы ищете самое высокое значение y
.
Вам нужно определить, какие критерии вы используете для выбора 13120
в итоге.
Richard Deeming
Ответ на ваш удаленный комментарий: "@Richard Deeming 13120 больше, чем 11940"13120
меньше, чем 14000
, так что это не самый высокий x
ценность.400
меньше, чем 10380
, так что это не самый высокий y
ценность.
Так как же вы пришли к этому {13120,400}
как "высшая" ценность?