Удвоение в массиве всех вхождений элементов, расположенных на четных(0-четное)позициях (DublicateOnEvenPos() - C#
Формулировка задачи:
Помогите, не знаю, как запилить прогу
Задание
Удвоение в массиве всех вхождений элементов, расположенных на четных (0-четное) позициях (DublicateOnEvenPos()).
Массив
namespace DynamicTypes { class DynamicArray<T> { /// <summary> /// Закрытый массив, в котором храним данные /// </summary> T[] array; /// <summary> /// Свойство, показывающее размер массива в памяти /// </summary> public int Capacity { get { return array.Length; } } /// <summary> /// Свойство, показывающее число фактически используемых элементов /// </summary> public int Count { get; private set; } /// <summary> /// Конструктор по умолчанию, создающий массив из 4-х элементов /// </summary> public DynamicArray() { array = new T[4]; Count = 0; } /// <summary> /// Метод добавления элемента /// </summary> /// <param name="item">добавляемый элемент</param> public void Add(T item) { // если дошли до конца массива if (Count == Capacity) { // создаем временный массив в 2 раза большего размера T[] tmp = new T[Capacity * 2]; // копируем в него исходный массив for (int i = 0; i < Count; i++) { tmp[i] = array[i]; } // переставляем ссылки (память старого массива будет позднее собрана сборщиком // мусора) array = tmp; } // добавляем элемент в конец массива array[Count] = item; Count++; } /// <summary> /// Свойство-индексатор для получения доступа к элементам массива /// </summary> /// <param name="n">порядковый номер элемента, с которым будет выполняться /// действие</param> public T this[int n] { get { // контроллируем выход за логическую границу массива. Выход за фактическую // границу (n < 0) or (n >= array.Length) контроллирует среда выполнения if (n >= Count) throw new IndexOutOfRangeException("Выход за границу массива"); return array[n]; } set { if (n >= Count) throw new IndexOutOfRangeException("Выход за границу массива"); array[n] = value; } } } }
Решение задачи: «Удвоение в массиве всех вхождений элементов, расположенных на четных(0-четное)позициях (DublicateOnEvenPos()»
textual
Листинг программы
using System; using System.Linq; class Program { public static void Main() { int[] a = new int[] { 1, 2, 3, 4, 5 }; int[] b = a.SelectMany((x, i) => Enumerable.Repeat(x, 2 - i % 2)).ToArray(); Console.WriteLine(String.Join(", ", b)); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д