Back-2-Basics : Largest and Second Largest in an Array(C#)

It’s a basics code, just sharing it since since will be useful for some body, who is in needy.

I am just refresing my OOPS and Basic knowledge, just experimenting. Ha ha ha.

Advice to guyz, don’t simply copy it, try to understand the logic and do it by yourself.

C#
 </p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Text;</p>
<p>namespace ConsoleAppPro<br />
{<br />
    /// <summary><br />
    ///<br />
    /// </summary><br />
    public class NumberOps<br />
    {</p>
<p>        /// <summary><br />
        /// Runs the number ops.<br />
        /// </summary><br />
        public void RunNumberOps()<br />
        {<br />
            Random rand = new Random();</p>
<p>            int[] input = new int[20];</p>
<p>            Console.WriteLine("Numbers to Process");<br />
            Console.WriteLine("----------------------------");</p>
<p>            for (int i = 0; i < 20; i++)<br />
            {<br />
                input[i] = rand.Next(100); //Generating numbers in random (below 100)</p>
<p>               Console.Write(String.Format("{0},", input[i]));<br />
            }</p>
<p>            Console.WriteLine("nnRESULTn----------------------------");<br />
            FirstNSecondLargest(input);</p>
<p>            Console.Read();<br />
        }</p>
<p>        /// <summary><br />
        /// Firsts the N second largest.<br />
        /// </summary><br />
        /// <param name="inVals">The in vals.</param><br />
        public void FirstNSecondLargest(int[] inVals)<br />
        {</p>
<p>            int largest = 0;<br />
            int smallest = 0;<br />
            int secondLargest = 0;<br />
            int secondSmallest = 0;</p>
<p>            largest  =  inVals[0];<br />
            secondLargest = 0;<br />
            secondSmallest = 0;<br />
            smallest = inVals[0];</p>
<p>            for (int iIndex = 0; iIndex < inVals.Length; iIndex++)<br />
            {<br />
                if (inVals[iIndex] > largest) //Largest Value<br />
                {<br />
                    secondLargest = largest;<br />
                    largest = inVals[iIndex];<br />
                }<br />
                else if (inVals[iIndex] >= secondLargest && inVals[iIndex] != largest)<br />
                {<br />
                    secondLargest = inVals[iIndex]; //second largest<br />
                }</p>
<p>                if (smallest >  inVals[iIndex]) //Smallest Value<br />
                {</p>
<p>                    secondSmallest = smallest;<br />
                    smallest = inVals[iIndex];<br />
                }<br />
                else if (inVals[iIndex] < secondSmallest && inVals[iIndex] != smallest)<br />
                {<br />
                    secondSmallest = inVals[iIndex]; //second smallest<br />
                }</p>
<p>            }</p>
<p>            Console.WriteLine(String.Format("Largest: {0}, Second Largest: {1}, Second Smallest: {3}, Smallest: {2}", largest, secondLargest, smallest, secondSmallest));</p>
<p>        }<br />
    }<br />
}</p>
<p>

Smallest picture

PS: I have tested this only few times. If you find any issues in the logic. please notify me, so that i can fix it up for later use.

This is just an information sharing, hope this helps some body. Tweak it, if could and Happy Coding!!!


Discover more from C4: Container, Code, Cloud & Context

Subscribe to get the latest posts sent to your email.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.