Home

C# Example: The Minimum and Maximum Values in an Array

     

Introduction

This series of sample programs shows how to find the highest number in a series. In these examples, we will deal with arrays. We will use single and multi-dimensional.

In the first example, we create a simple array of double-precision numbers (the numbers were selected randomly). To look for the lowest or the highest number in the range, we use a for loop:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Exercise
{
    public class Program
    {
        static int Main(string[] args)
        {
            var Numbers = new double[10];
            var Minimum = 0D;
            var Maximum = 0D;

            Numbers[0] = 4478.72;
            Numbers[1] = 67.97;
            Numbers[2] = 2.32;
            Numbers[3] = 13004.05;
            Numbers[4] = 0.44;
            Numbers[5] = 873846.08;
            Numbers[6] = 120.12;
            Numbers[7] = 479.23;
            Numbers[8] = 12.42;
            Numbers[9] = 873846.04;

            Minimum = Numbers[0];

            for (var i = 0; i < Numbers.Length; i++)
            {
                Console.WriteLine("Number {0,2}:{1, 10}", i + 1, Numbers[i]);
            }


            for (var i = 0; i < Numbers.Length; i++)
            {
                if (Minimum > Numbers[i])
                    Minimum = Numbers[i];
            }
            
            Console.WriteLine();
            Console.WriteLine("Minimum = {0}", Minimum);

            for (int i = 0; i < Numbers.Length; i++)
            {
                if (Maximum < Numbers[i])
                    Maximum = Numbers[i];
            }

            Console.WriteLine("Maximum = {0}\n", Maximum);
            return 0;
        }
    }
}

Here is an example that uses methods:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MinMax
{
    public class Exercise
    {
        private int Min(int x, int y)
        {
            if (x < y)
                return x;
            return y;
        }

        private int Max(int x, int y)
        {
            if (x > y)
                return x;
            return y;
        }

        private int Min(int[] numbers)
        {
            int m = numbers[0];

            for (int i = 0; i < numbers.Length; i++)
                if (m > numbers[i])
                    m = numbers[i];

            return m;
        }

        private int Max(int[] numbers)
        {
            int m = numbers[0];

            for (int i = 0; i < numbers.Length; i++)
                if (m > numbers[i])
                    m = numbers[i];

            return m;
        }

        public static int Main()
        {
            int a = 24, b = 26;
            int[] nbrs = { 27, 2, 93, 7957, 4, 795, 14 };

            Exercise exo = new Exercise();

            Console.WriteLine("The minimum of 14 and 26 is {0}", exo.Min(a, b));
            Console.WriteLine("The maximum of 14 and 26 is {0}", exo.Max(a, b));
            Console.WriteLine("The minimum of the array is {0}", exo.Min(nbrs));
            Console.WriteLine("The maximum of the array is {0}", exo.Max(nbrs));
            return 0;
        }
    }
}

This would produce:

The minimum of 14 and 26 is 24
The maximum of 14 and 26 is 26
The minimum of the array is 2
The maximum of the array is 7957
Press any key to continue . . .

This example uses a two-dimensional array to find the largest and the lowest values in the series:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Exercise
{
    public class Program
    {
        static int Main(string[] args)
        {
            var Numbers = new double[2, 5];
            var Minimum = 0D;
            var Maximum = 0D;

            Numbers[0, 0] = 67.97;
            Numbers[0, 1] = 873846.04;
            Numbers[0, 2] = 2.32;
            Numbers[0, 3] = 4478.72;
            Numbers[0, 4] = 13004.05;
            Numbers[1, 0] = 479.23;
            Numbers[1, 1] = 873846.08;
            Numbers[1, 2] = 0.44;
            Numbers[1, 3] = 12.42;
            Numbers[1, 4] = 120.12;

            Minimum = Numbers[0, 0];

            int counter = 1;

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    Console.WriteLine("Number {0}:\t{1}", counter, Numbers[i, j]);
                    counter++;
                }
            }

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    if (Minimum > Numbers[i, j])
                        Minimum = Numbers[i, j];
                }
            }
            Console.WriteLine();
            Console.WriteLine("Minimum = {0}", Minimum);

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    if (Maximum < Numbers[i, j])
                        Maximum = Numbers[i, j];
                }
            }

            Console.WriteLine("Maximum = {0}", Maximum);
            return 0;
        }
    }
}
 
 

Home Copyright © 2008-2016, FunctionX, Inc.