Files
ISTU_TEST_LR1/LR1/AppTesting/Program.cs
2026-02-02 06:44:35 +04:00

67 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<float>())}]");
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;
}
}