Переместить в первую половину массива элементы а четными индексами, во вторую с нечетными - C#
Формулировка задачи:
Здравствуйте. Нужна помощь.
Полное условие: В одномерном массиве, состоящем из n целочисленных элементов, вычислить:
1. минимальный по модулю элемент массива;
2. сумму модулей элементов массива, расположенных после первого элемента,
равного нулю.
Преобразовать массив таким образом, чтобы в первой его половине
располагались элементы, стоявшие в четных позициях, а во второй
половине - элементы, стоявшие в нечетных позициях.
Код:
Первый два пункта сделаны. Как преобразовать массив таким образом не знаю.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
public static void Main()
{
Console.Write("Введите размер массива: ");
int n = Convert.ToInt32(Console.ReadLine());
int[] array = new int[n];
Random rand = new Random((int)DateTime.Now.Ticks);
for (int i = 0; i < n; i++)
{
array[i] = rand.Next(-10, 10);
Console.Write(array[i] + " ");
}
var modules = from num in array
select Math.Abs(num);
double min = modules.Min();
Console.WriteLine("Минимальный по модулю: " + min);
bool z = false;
double sum = 0;
for (int i = 0; i < array.Length; i++)
{
if (array[i] == 0.0)
z = true;
if (z == true)
sum += array[i];
}
Console.WriteLine("Сумма чисел после нуля: " + sum);
Console.ReadKey();
}
}
}Решение задачи: «Переместить в первую половину массива элементы а четными индексами, во вторую с нечетными»
textual
Листинг программы
b[i] = i < med ? array[i * 2 + 1] : array[(i - med) * 2];