Ответ:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace CSLear
{
partial class Program
{
private static Random r = new Random();
static void Main(string[] args)
{
int[] Arr = GenIntArray(r.Next(40), -99, 99);
Arr.PrintLn();
IntArrDiff(Arr).PrintLn();
((Arr.Last()) / 2).PrintLn();
Console.ReadKey();
}
private static int[] GenIntArray(int size, in int minValue, in int maxValue)
{
int[] temp = new int[size];
for (int i = 0; i < size; i++)
{
temp[i] = r.Next(minValue, maxValue);
}
return temp;
}
private static int IntArrDiff(int[] arr)
{
int temp = arr[0];
for (int i = 1; i < arr.Length; i++)
{
temp -= arr[i];
}
return temp;
}
}
public static class Extensions
{
public static void PrintLn(this T Value)
{
Console.WriteLine(Value);
}
public static void PrintLn(this T[] ArrValue)
{
StringBuilder sb = new StringBuilder();
foreach (T Item in ArrValue)
{
sb.Append($"{Item} ");
}
sb.Append("\n");
Console.WriteLine(sb.ToString());
}
}
}
По поводу расширений .PrintLn() - Давно и отдельно писал их на случай, когда нужно много всего печатать в консоль. Сюда просто подошли случайно, по этому я добавил часть исходного кода класса Extensions, содержащую определение этих методов. Если есть какие то вопросы - задавайте.