mirror of
https://github.com/KhasanovAMdev/ISTU_TEST_LR1.git
synced 2026-04-03 23:09:36 +04:00
Добавил тесты
This commit is contained in:
@@ -1,54 +1,139 @@
|
||||
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
|
||||
};
|
||||
using System.Globalization;
|
||||
|
||||
public class Program
|
||||
{
|
||||
private static void Main()
|
||||
{
|
||||
Console.WriteLine($"Массив с входными данными: [{string.Join("; ", inputArray)}]");
|
||||
double[] inputArray = ReadInputData(@"D:\Projects\ISTU_TEST_LR1\LR1\DataGeneration\input_data.txt");
|
||||
Console.WriteLine($"Input data: [{string.Join("; ", inputArray)}]");
|
||||
|
||||
var outputData = ArrayProc(inputArray);
|
||||
var minValue = SearchMinValue(outputData);
|
||||
WriteToFile(outputData!, "output_data.txt");
|
||||
|
||||
Console.WriteLine($"Массив с выходными данными: [{string.Join("; ", outputData ?? Array.Empty<float>())}]");
|
||||
Console.WriteLine($"Минимальное значенние: {minValue.ToString()}");
|
||||
var minValue = SearchMinValue(outputData!);
|
||||
Console.WriteLine($"Output data: [{(outputData != null ? string.Join(" ; ", outputData) : "null")}]");
|
||||
|
||||
WriteToFile(minValue!, "min_value.txt");
|
||||
Console.WriteLine($"Min value: {minValue.ToString()}");
|
||||
}
|
||||
|
||||
|
||||
private static float SearchMinValue(float[]? inputData)
|
||||
public static void WriteToFile(double[] data, string filename)
|
||||
{
|
||||
if (inputData == null || inputData.Length == 0) return 0;
|
||||
if (data == null) return;
|
||||
|
||||
using (StreamWriter sw = new StreamWriter(filename))
|
||||
{
|
||||
foreach (var value in data)
|
||||
sw.WriteLine(value.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
||||
public static void WriteToFile(double? data, string filename)
|
||||
{
|
||||
if (data == null) return;
|
||||
|
||||
File.WriteAllText(filename, data.Value.ToString(CultureInfo.InvariantCulture) + Environment.NewLine);
|
||||
}
|
||||
|
||||
private static double[] ReadInputData(string txtFile)
|
||||
{
|
||||
string[] lines = File.ReadAllLines(txtFile);
|
||||
double[] data = new double[lines.Length];
|
||||
|
||||
for (int i = 0; i < lines.Length; i++)
|
||||
{
|
||||
data[i] = double.Parse(lines[i], CultureInfo.InvariantCulture);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
public static double? SearchMinValue(double[] inputData)
|
||||
{
|
||||
if (inputData == null) return null;
|
||||
if (inputData.Length == 0) return null;
|
||||
|
||||
var minValue = inputData[0];
|
||||
for (int i = 1; i < inputData.Length; i++)
|
||||
int i = 1;
|
||||
while (i < inputData.Length)
|
||||
{
|
||||
if (inputData[i] < minValue) minValue = inputData[i];
|
||||
if (inputData[i] < minValue)
|
||||
minValue = inputData[i];
|
||||
i++;
|
||||
}
|
||||
return minValue;
|
||||
}
|
||||
|
||||
private static float[]? ArrayProc(float[] inputData)
|
||||
public static double[]? ArrayProc(double[] inputData)
|
||||
{
|
||||
float[] outputArray;
|
||||
double[] outputArray;
|
||||
int pairs = 0;
|
||||
int n = inputData.Length - 1;
|
||||
|
||||
int i = 0;
|
||||
while (i <= n / 2)
|
||||
{
|
||||
if (i + 8 <= n)
|
||||
pairs++;
|
||||
i++;
|
||||
}
|
||||
|
||||
if (pairs == 0)
|
||||
return null;
|
||||
|
||||
outputArray = new double[pairs];
|
||||
|
||||
int j = 0;
|
||||
i = 8;
|
||||
while (j < outputArray.Length)
|
||||
{
|
||||
outputArray[j] = inputData[i] * inputData[i - 8];
|
||||
j++;
|
||||
i++;
|
||||
}
|
||||
|
||||
if (outputArray.Length % 2 != 0)
|
||||
{
|
||||
int centralIdx = outputArray.Length / 2;
|
||||
double centralItem = outputArray[centralIdx];
|
||||
outputArray[centralIdx] = centralItem * centralItem;
|
||||
}
|
||||
|
||||
return outputArray;
|
||||
}
|
||||
|
||||
/*
|
||||
private static double? SearchMinValue(double[] inputData)
|
||||
{
|
||||
if (inputData == null || inputData.Length == 0)
|
||||
return null;
|
||||
|
||||
var minValue = inputData[0];
|
||||
for (int i = 1; i < inputData.Length; i++)
|
||||
{
|
||||
if (inputData[i] < minValue)
|
||||
minValue = inputData[i];
|
||||
}
|
||||
return minValue;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
private static double[]? ArrayProc(double[] inputData)
|
||||
{
|
||||
double[] outputArray;
|
||||
int pairs = 0;
|
||||
int n = inputData.Length - 1;
|
||||
for (int i = 0; i <= n / 2; i++)
|
||||
{
|
||||
if (i + 8 <= n) pairs++;
|
||||
if (i + 8 <= n)
|
||||
pairs++;
|
||||
}
|
||||
|
||||
if (pairs == 0)
|
||||
{
|
||||
Console.WriteLine("Размер массива не соответствует условию");
|
||||
if (pairs == 0)
|
||||
return null;
|
||||
}
|
||||
|
||||
outputArray = new float[pairs];
|
||||
outputArray = new double[pairs];
|
||||
|
||||
for (int i = 8, j = 0; j < outputArray.Length; j++, i++)
|
||||
{
|
||||
@@ -58,10 +143,10 @@
|
||||
if (outputArray.Length % 2 != 0)
|
||||
{
|
||||
int centralIdx = outputArray.Length / 2;
|
||||
float centralItem = outputArray[centralIdx];
|
||||
double centralItem = outputArray[centralIdx];
|
||||
outputArray[centralIdx] = centralItem * centralItem;
|
||||
}
|
||||
return outputArray;
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
Reference in New Issue
Block a user