В C# заполнить массив рандомными числами и с помощью методов превратить массив таким образом, чтобы сначала
размещались все элементы, имеющие четные индексы, а затем с нечетными индексами.
Ответы
namespace lab
{
internal class Program
{
private static void Main()
{
Console.Write("Введите размер массива: ");
int size;
while(!int.TryParse(Console.ReadLine(), out size) || size <= 0 || size > 10000)
Console.Write("Неверно задан размер, введите ещё раз(от 1 до 10000): ");
var array = new int[size];
FillArray(array, 0, 9);
Console.WriteLine("Массив создано. Его текущий вид:");
PrintArray(array);
Console.WriteLine("После сортировки(парные индексы встали спереди):");
MagicSwapArray(array);
PrintArray(array);
}
private static void PrintArray(int[] array)
{
for (int i = 0; i < array.Length; i++)
Console.Write($"[{array[i]}]");
Console.WriteLine();
}
private static void FillArray(int[] arr, int min, int max)
{
var rand = new Random();
for (int i = 0; i < arr.Length; i++)
arr[i] = rand.Next(min, max + 1);
}
private static void MagicSwapArray(int[] arr)
{
int length = arr.Length;
var temp = new int[length];
int j = 0;
for (int i = 0; i < length; i += 2)
{
temp[j] = arr[i];
j++;
}
for (int i = 1; i < length; i += 2)
{
temp[j] = arr[i];
j++;
}
Array.Copy(temp, arr, length);
}
}
}