C#: Smallest gap between the numbers in an array
C# Sharp Array: Exercise-37 with Solution
Write a C# Sharp program that calculates the smallest gap between numbers in an array of integers.
Sample Data:
({ 7, 5, 8, 9, 11, 23, 18 }) -> 1
({ 200, 300, 250, 151, 162 }) -> 11
Sample Solution-1:
C# Sharp Code:
using System;
using System.Linq;
namespace exercises
{
class Program
{
static void Main(string[] args)
{
int[] nums = { 7, 5, 8, 9, 11, 23, 18 };
Console.WriteLine("Original array elements:");
Console.WriteLine($"{string.Join(", ", nums)}");
Console.WriteLine("Smallest gap between the numbers in the said array: " + test(nums));
int[] nums1 = { 200, 300, 250, 151, 162 };
Console.WriteLine("\nOriginal array elements:");
Console.WriteLine($"{string.Join(", ", nums1)}");
Console.WriteLine("Smallest gap between the numbers in the said array: " + test(nums1));
}
public static int test(int[] nums)
{
Array.Sort(nums);
return nums.Skip(1)
.Select((e, el) => e - nums[el])
.Min();
}
}
}
Sample Output:
Original array elements: 7, 5, 8, 9, 11, 23, 18 Smallest gap between the numbers in the said array: 1 Original array elements: 200, 300, 250, 151, 162 Smallest gap between the numbers in the said array: 11
Flowchart:

Sample Solution-2:
C# Sharp Code:
using System;
using System.Linq;
using System.Collections.Generic;
namespace exercises
{
class Program
{
static void Main(string[] args)
{
int[] nums = { 7, 5, 8, 9, 11, 23, 18 };
Console.WriteLine("Original array elements:");
Console.WriteLine($"{string.Join(", ", nums)}");
Console.WriteLine("Smallest gap between the numbers in the said array: " + test(nums));
int[] nums1 = { 200, 300, 250, 151, 162 };
Console.WriteLine("\nOriginal array elements:");
Console.WriteLine($"{string.Join(", ", nums1)}");
Console.WriteLine("Smallest gap between the numbers in the said array: " + test(nums1));
}
public static int test(int[] nums)
{
List<int> result = new List<int>();
Array.Sort(nums);
for (int i = 0; i < nums.Length; i++)
if (nums[i] != nums.Last())
result.Add(nums[i + 1] - nums[i]);
return result.Min();
}
}
}
Sample Output:
Original array elements: 7, 5, 8, 9, 11, 23, 18 Smallest gap between the numbers in the said array: 1 Original array elements: 200, 300, 250, 151, 162 Smallest gap between the numbers in the said array: 11
Flowchart:

C# Sharp Code Editor:
Contribute your code and comments through Disqus.
Previous C# Sharp Exercise: Check the numbers of a array are consecutive or not.
Next C# Sharp Exercise: Check specific digit in an array of numbers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook