How to sort array odd numbers in descending order and even numbers in ascending order in VB.NET

1 Answer

0 votes
Imports System

Public Class Test
    Public Shared Sub make_odds_negative(arr() As Integer) 
        For i As Integer = 0 To UBound(arr)
            If (arr(i) Mod 2 <> 0) Then
                arr(i) *= -1
            End If
        Next
    End Sub
    
    Public Shared Sub odd_even_sort(arr() As Integer) 
        make_odds_negative(arr)
     
        print(arr)
         
        Array.Sort(arr)
         
        print(arr)
       
        make_odds_negative(arr)
    End Sub
     
    Public Shared Sub print(arr() As Integer) 
        For i As Integer = 0 To UBound(arr)
            Console.Write("{0} ", arr(i))
        Next
        Console.WriteLine()   
         
    End Sub
    
    Public Shared Sub Main()
        Dim arr() As Integer = {3, 4, 6, 1, 2, 5}
        
        odd_even_sort(arr)
           
        print(arr)
    End Sub
End Class



' Run:
'
' -3 4 6 -1 2 -5 
' -5 -3 -1 2 4 6 
' 5 3 1 2 4 6 

 



answered May 4, 2019 by avibootz
...