class Program
{
// 1. Функция заполнения одномерного массива случайными числами из диапазона
static void SixSeven(int[] arr, int min, int max)
{
Random rnd = new Random();
for (int i = 0; i < arr.Length; i++)
arr[i] = rnd.Next(min, max + 1);
}
// 2. Метод, который меняет местами значения двух переменных
static void Swap(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
// 3. Метод для вычисления гипотенузы и площади треугольника по двум катетам
static void CalculateTriangle(double a, double b, out double hypotenuse, out double area)
{
hypotenuse = Math.Sqrt(a * a + b * b);
area = (a * b) / 2;
}
// 4. Функция, возвращающая количество положительных элементов массива
static int CountPositive(int[] arr)
{
int count = 0;
foreach (int num in arr)
if (num > 0) count++;
return count;
}
// 5. Вычисление наименьшего значения Y(B[i]) = 5*B[i]^3 + 3*B[i]^2 - B[i]
static double MinY(int[] B)
{
double minY = double.MaxValue;
foreach (int x in B)
{
double y = 5 * Math.Pow(x, 3) + 3 * Math.Pow(x, 2) - x;
if (y < minY) minY = y;
}
return minY;
}
static void Main()
{
//1
Console.WriteLine("___Задача 1___");
Console.Write("Введите размер массива: ");
int n = int.Parse(Console.ReadLine());
int[] arr = new int[n];
Console.Write("Введите минимальное значение: ");
int min = int.Parse(Console.ReadLine());
Console.Write("Введите максимальное значение: ");
int max = int.Parse(Console.ReadLine());
SixSeven(arr, min, max);
Console.WriteLine("Массив: " + string.Join(", ", arr));
//2
Console.WriteLine("\n___Задача 2___");
int x = 5, y = 10;
Console.WriteLine($"До обмена: x = {x}, y = {y}");
Swap(ref x, ref y);
Console.WriteLine($"После обмена: x = {x}, y = {y}");
//3
Console.WriteLine("\n___Задача 3___");
Console.Write("Введите катет a: ");
double a = double.Parse(Console.ReadLine());
Console.Write("Введите катет b: ");
double b = double.Parse(Console.ReadLine());
CalculateTriangle(a, b, out double hyp, out double area);
Console.WriteLine($"Гипотенуза: {hyp:F2}, Площадь: {area:F2}");
//4
Console.WriteLine("\n___Задача 4___");
Console.WriteLine("Массив для подсчета: " + string.Join(", ", arr));
int positiveCount = CountPositive(arr);
Console.WriteLine($"Количество положительных элементов: {positiveCount}");
// 5
Console.WriteLine("\n___Задача 5___");
Console.Write("Введите размер массива B: ");
int m = int.Parse(Console.ReadLine());
int[] B = new int[m];
Console.WriteLine("Введите элементы массива B:");
for (int i = 0; i < m; i++)
B[i] = int.Parse(Console.ReadLine());
double minValueY = MinY(B);
Console.WriteLine($"Минимальное значение Y: {minValueY:F2}");
}
}
}