public static void Main()
var array = new Array(3);
Console.WriteLine(array.IndexOf(10));
Console.WriteLine("biggest number: " + array.Max());
var compareArray = new int[4] { 10, 15, 30, 95 };
array.Intersect(compareArray);
public Array(int maxLength)
_numbers = new int[maxLength];
public void Insert(int node)
if (_numbers.Length <= _count)
var numbers = new int[_count * 2];
for (var i = 0; i < _count; i++ )
numbers[i] = _numbers[i];
public void RemoveAt(int index)
if (index < 0 || index >= _count)
throw new IndexOutOfRangeException();
for (var i = index; i < _count; i++)
_numbers[i] = _numbers[i + 1];
public int IndexOf(int value)
for (var i = 0; i < _count; i++)
if (_numbers[i] == value)
for (var i = 0; i < _count; i++)
if (_numbers[i] > biggestNumber)
biggestNumber = _numbers[i];
public void Intersect(int[] compareList)
throw new ArgumentNullException();
var intersectList = new int[compareList.Length];
for (var i = 0; i < compareList.Length; i++)
for (var j = 0; j < _count; j++)
if (compareList[i] == _numbers[j])
intersectList[currentCount] = compareList[i];
for (var i = 0; i < currentCount; i++)
Console.WriteLine(intersectList[i]);
var reverseList = new int[_count];
for (var i = 0; i < _count; i++)
reverseList[i] = _numbers[_count - i - 1];
Console.WriteLine(string.Join(",",reverseList));
public void InsertAt(int item, int index)
if (index < 0 || index > _count + 1)
throw new IndexOutOfRangeException();
var originalArray = _numbers;
if (_numbers.Length <= _count + 1)
for (var i = index + 1; i < _count + 1; i++)
_numbers[i] = originalArray[i - 1];
Console.WriteLine(string.Join(",", _numbers));
for (var i = 0; i < _count; i++)
Console.WriteLine(_numbers[i]);