internal class Program { private static float[] inputArray = { 1.5f, -2.4f, 3.1f, 0.5f, 12.7f, -8.2f, 4.4f, 9.0f, 0.0f, 11.1f, -3.3f, 6.7f, 15.2f, 2.8f, 7.0f, -1.1f, 4.9f, 8.3f, 22.5f, 0.2f, 5.6f, -9.4f, 13.0f, 1.1f, 3.7f, 18.2f, -4.5f, 6.0f, 0.9f, 10.4f, 2.2f, -7.7f, 14.1f, 3.3f, 5.8f, 21.0f, -0.5f, 8.8f, 1.4f, 12.3f, 4.0f, -6.1f, 17.5f, 2.9f, 9.2f, 19.8f, -2.2f, 7.4f, 0.3f, 11.9f }; private static void Main() { Console.WriteLine($"Массив с входными данными: [{string.Join("; ", inputArray)}]"); var outputData = ArrayProc(inputArray); var minValue = SearchMinValue(outputData); Console.WriteLine($"Массив с выходными данными: [{string.Join("; ", outputData ?? Array.Empty())}]"); Console.WriteLine($"Минимальное значенние: {minValue.ToString()}"); } private static float SearchMinValue(float[]? inputData) { if (inputData == null || inputData.Length == 0) return 0; var minValue = inputData[0]; for (int i = 1; i < inputData.Length; i++) { if (inputData[i] < minValue) minValue = inputData[i]; } return minValue; } private static float[]? ArrayProc(float[] inputData) { float[] outputArray; int pairs = 0; int n = inputData.Length - 1; for (int i = 0; i <= n / 2; i++) { if (i + 8 <= n) pairs++; } if (pairs == 0) { Console.WriteLine("Размер массива не соответствует условию"); return null; } outputArray = new float[pairs]; for (int i = 8, j = 0; j < outputArray.Length; j++, i++) { outputArray[j] = inputData[i] * inputData[i - 8]; } if (outputArray.Length % 2 != 0) { int centralIdx = outputArray.Length / 2; float centralItem = outputArray[centralIdx]; outputArray[centralIdx] = centralItem * centralItem; } return outputArray; } }