Рекурсивный метод для поиска максимального и минимального элемента массива - C#
Формулировка задачи:
Всем привет.
Помогите доработать программу: Нужно написать рекурсивный метод для поиска максимального и минимального элемента массива и не рекурсивный.
class Program { static void Main(string[] args) { MyArr array = new MyArr(); array.Print("Исходный массив:\t"); Console.WriteLine("Минимальный элемент:\t" + array.GetMin()); Console.WriteLine("Максимальный элемент:\t" + array.GetMax()); Console.WriteLine("Минимальный элемент:\t" + array.ElementSearch()); Console.ReadLine(); } } public class MyArr { static int[] array; public MyArr() { array = new int[10]; Random rnd = new Random(); for (int i = 0; i < array.Length; i++) array[i] = rnd.Next(50); } public void Print(string msg) { Console.Write(msg + string.Join(" ", array) + "\n"); } // Не реккурсивный метод поиска максимума public int GetMin() { int min = int.MaxValue; for (int i = 0; i < array.Length; i++) { if (array[i] < min) { min = array[i]; } } return min; } // Не реккурсивный метод поиска минимума public int GetMax() { int max = int.MinValue; for (int i = 0; i < array.Length; i++) { if (array[i] > max) { max = array[i]; } } return max; } // Реккурсивный метод поиска public int ElementSearch(int[] Source, int Element) { if (Element + 1 == Source.Length) { return Source[Element]; } else { Console.WriteLine("The lowest number is" + Source[(Element - 1)]); return Math.Min(Source[Element], ElementSearch(Source, Element + 1)); } } }
Решение задачи: «Рекурсивный метод для поиска максимального и минимального элемента массива»
textual
Листинг программы
void Main() { int[] arr = {6,-3,14,12,0,1,45,22,-1,7}; Console.WriteLine(FindElementNotRecurs(arr, (x,y) => x > y)); // Для максималки Console.WriteLine(FindElementNotRecurs(arr, (x,y) => x < y)); // Для минималки } static int FindElementNotRecurs(int[] arr, Func<int,int,bool> func) { int item = arr[0]; for(int i = 1; i <arr.Length; ++i) if(func(arr[i], item)) item = arr[i]; return item; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д