static float MarkerMin(float[] a) { int i = 0, n = a.Length; float min = a[0]; /* Меняем размер массива, чтобы добавить * в конец элемент a[n], который будет являться * маркером */ Array.Resize(ref a, n + 1); while (i < n) { min = a[i]; a[n] = min; i++; while (a[i] > min) i++; } return min; }