Отсортировать массив по близости элементов к единице с помощью анонимной функции - C#
Формулировка задачи:
Помогите, пожалуйста, с задачей:
Для элементов одномерного массива, заполненных случайными целыми числами из диапазона [-30; 30], с помощью методов класса Array и анонимной (или лямбда-) функции нужно отсортировать полученный массив по близости элементов к единице. Вывести исходный и полученный массивы.
Решение задачи: «Отсортировать массив по близости элементов к единице с помощью анонимной функции»
textual
Листинг программы
using System;
namespace ConsoleApplication1 {
class Program {
static void Main() {
var r = new Random();
var arr = new int[100];
for (int i = 0; i < arr.Length; i++)
arr[i] = r.Next(-30, 31);
Print(arr);
Array.Sort(arr, (v1, v2) => Math.Abs(v1 - 1).CompareTo(Math.Abs(v2 - 1)));
Print(arr);
}
static void Print(int[] array) {
for (int i = 0; i < array.Length; i++)
Console.Write(array[i] + @" ");
Console.WriteLine();
}
}
}