var col = int.Parse(Console.ReadLine());
var arr = new int[col];
CheckCol(col);
for (var i = 0; i < arr.Length; i++)
{
Console.WriteLine("\nЧисло массива");
arr[i] = int.Parse(Console.ReadLine());
if (arr[i] is < 0 or > 200000)
{
Console.WriteLine("ОШИБКА");
break;
}
}
Console.WriteLine("Элементы массива:");
foreach (var t in arr)
{
Console.WriteLine(t);
}
Console.WriteLine("Что сделать с массивом? (Вызначить минимальное число (min), вызначить максимальное число(max) )");
var ans = Console.ReadLine();
switch (ans)
{
case "min":
{
var resMin = arr.Min();
Console.WriteLine($"Минимальное значение: {resMin}");
break;
}
case "max":
{
var resMax = arr.Max();
Console.WriteLine($"Максимальное значение: {resMax}");
break;
}
default:
Console.WriteLine("Введите либо min, либо max");
break;
}
Console.WriteLine(arr[^1]);
}
static void CheckCol(int col)
{
if (col is < 0 or > 200000)
{
Console.WriteLine("ОШИБКА");
}
}
void Test() { Console.Write("Элементов массива: "); var value = Console.ReadLine(); if (value == null) return; var countCols = int.Parse(value); var arr = new int[countCols]; if (CheckValue(countCols)) { return; } for (var i = 0; i < arr.Length; i++) { Console.WriteLine("\nЧисло массива"); var valueCell = int.Parse(Console.ReadLine() ?? string.Empty); if (CheckValue(valueCell)) { break; } arr[i] = valueCell; } PrintArray(arr); Console.WriteLine("Что сделать с массивом? (Вызначить минимальное число (min), вызначить максимальное число(max) )"); switch (Console.ReadLine()) { case "min": { var resMin = arr.Min(); Console.WriteLine($"Минимальное значение: {resMin}"); break; } case "max": { var resMax = arr.Max(); Console.WriteLine($"Максимальное значение: {resMax}"); break; } default: Console.WriteLine("Введите либо min, либо max"); break; } Console.WriteLine(arr[^1]); } static void PrintArray(int[] arr) { Console.WriteLine("Элементы массива:"); foreach (var t in arr) Console.WriteLine(t); } static bool CheckValue(int col) { if (col is < 0 or > 200000) { Console.WriteLine("ОШИБКА"); return true; } return false; }
Проверочка у него одинаковая конечно, но наверно лучше в две вынести, так как разные данные проверяет
Много проблем внутри этой функции. static bool CheckValue(int col) { if (col is < 0 or > 200000) { Console.WriteLine("ОШИБКА"); return true; } return false; } 1) Название: CheckValue это действие не имеющее результата. Если мы что-то возвращаем, то название должно об этом говорить. Например, IsValueValid. Кстати, если метод возвращает буль, то обычно его называют вопросом, на который метод должен ответить. 2) Возвращаемые значения. Возвращать true при ошибке - контринтуитивно. 3) Выражение «col is < 0» нету смысла записывать так. Можно написать col < 0. 4) Вкусовщина, но писать or вместо || тоже такое себе. 5) Я бы не делал внутри этой функции Console.WriteLine - получается что функция проверки валидности ещё и ответсвенна за вывод сообщения в консоль. Сумбурненько
лайк, насчет is or вкусовщина и без is, or не пашет
Обсуждают сегодня