Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,919 questions

51,852 answers

573 users

How to find the second biggest number in a set of random numbers in VB.NET

2 Answers

0 votes
Imports System
 
Public Class BeforeMax
    Public Shared Function FindSecondLargest(ByVal numbers As Integer()) As Integer
        Dim largest As Integer = Integer.MinValue
        Dim secondLargest As Integer = Integer.MinValue
 
        For Each number As Integer In numbers
            If number > largest Then
                secondLargest = largest
                largest = number
            ElseIf number > secondLargest AndAlso number <> largest Then
                secondLargest = number
            End If
        Next
 
        Return secondLargest
    End Function
 
    Public Shared Sub Main()
        Dim random As Random = New Random()
        Dim numbers As Integer() = New Integer(9) {}
 
        For i As Integer = 0 To numbers.Length - 1
            numbers(i) = random.Next(1, 101)
        Next
 
        Console.WriteLine("Numbers: " & String.Join(", ", numbers))
        Dim secondLargest As Integer = FindSecondLargest(numbers)
 
        If secondLargest = Integer.MinValue Then
            Console.WriteLine("The array does not have enough unique numbers to determine the second largest.")
        Else
            Console.WriteLine("Second Largest: " & secondLargest)
        End If
    End Sub
End Class
 
 
' run:
'
' Numbers: 1, 34, 20, 37, 88, 67, 7, 60, 31, 84
' Second Largest: 84
'

 



answered Apr 5, 2025 by avibootz
edited Oct 4, 2025 by avibootz
0 votes
Imports System

Public Class BeforeMax
    Public Shared Function FindSecondMax(ByVal total As Integer, ByVal maxValue As Integer) As Integer
        Dim rnd As Random = New Random()
        Dim max As Integer = rnd.[Next](1, maxValue)
        Dim beforeMax As Integer = max
        Console.WriteLine(max)

        For i As Integer = 1 To total - 1
            Dim n As Integer = rnd.[Next](1, maxValue)
            Console.WriteLine(n)

            If n > max Then
                beforeMax = max
                max = n
            ElseIf n > beforeMax Then
                beforeMax = n
            End If
        Next

        Console.WriteLine("max = " & max)
        Return beforeMax
    End Function

    Public Shared Sub Main(ByVal args As String())
        Dim secondMax As Integer = FindSecondMax(15, 100)

        Console.WriteLine("before_max = " & secondMax)
    End Sub
End Class

 
 
' run:
'
' 56
' 38
' 45
' 74
' 82
' 9
' 67
' 88
' 99
' 25
' 95
' 41
' 23
' 52
' 44
' max = 99
' before_max = 95
'

 



answered Apr 5, 2025 by avibootz
edited Oct 4, 2025 by avibootz
...