diff --git a/LR1/AppTesting/Program.cs b/LR1/AppTesting/Program.cs index 00edc7e..edf231d 100644 --- a/LR1/AppTesting/Program.cs +++ b/LR1/AppTesting/Program.cs @@ -1,18 +1,37 @@ internal class Program { private static float[] inputArray = { - 1.5f, -2.4f, 3.1f, 0.5f, 12.7f, -8.2f, 4.4f, 9.0f, 01511.0f - }; + 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; diff --git a/LR1/DataGeneration/DataGeneration.py b/LR1/DataGeneration/DataGeneration.py index 8b13789..4924226 100644 --- a/LR1/DataGeneration/DataGeneration.py +++ b/LR1/DataGeneration/DataGeneration.py @@ -1 +1,24 @@ +import random +import struct +MIN_FLOAT = -3.4028235e38 +MAX_FLOAT = 3.4028235e38 + +def generate_and_solve(): + length = random.randint(0, 1024) + input_data = [random.uniform(MIN_FLOAT, MAX_FLOAT) for _ in range(length)] + + n = len(input_data) - 1 + limit = n // 2 + pairs = [] + for i in range(limit + 1): + if i + 8 <= n: + pairs.append(input_data[i] * input_data[i+8]) + + if len(pairs) % 2 != 0: + mid = len(pairs) // 2 + pairs[mid] = pairs[mid] ** 2 + + + +generate_and_solve()