Передать значение в метод - C#
Формулировка задачи:
Не могу передать в метод MultRange два значения: idMin и idMax из метода MinMaxId. Ведь return я так понимаю может только одно значение передать, а мне нужно два.
static void Main(string[] args) { Console.Title = "Математические операции с одномерными массивами"; Console.WriteLine("Введите размерность массива A:"); int n = Convert.ToInt32(Console.ReadLine()); double[] array = new double[n]; InputArray(array); SumNegative(array); MinMaxId(array); MultRange(array); Console.WriteLine("\nСортировка элементов массива в порядке возрастания:"); ArrSort(array); PrintArray(array); Console.ReadKey(); } public static void MinMaxId(double[] array) { double min = array[0]; double max = array[0]; int idMin = 0, idMax = 0; for (int i = 1; i < array.Length; i++) { if (array[i] < array[idMin]) { min = array[i]; idMin = i; } if (array[i] > array[idMax]) { max = array[i]; idMax = i; } } Console.WriteLine("Максимальный элемент A[" + (idMax + 1) + "] = " + max); Console.WriteLine("Минимальный элемент A[" + (idMin + 1) + "] = " + min); } public static void MultRange(double[] array, int idMin, int idMax) { double mult = 1; int idStart = Math.Min(idMin, idMax), idEnd = Math.Max(idMin, idMax); for (int i = idStart; i <= idEnd; i++) { mult *= array[i]; if (array[i] < 0) { Console.Write("(" + array[i] + ")"); if (i < idEnd) { Console.Write(" * "); } } if (array[i] >= 0) { Console.Write(array[i]); if (i < idEnd) { Console.Write(" * "); } } if (i == idEnd) { Console.WriteLine(" = " + mult); } } Console.WriteLine("Т.е. произведение элементов массива, расположенных между максимальным и \nминимальным элементами = " + mult); }
Решение задачи: «Передать значение в метод»
textual
Листинг программы
static void Main(string[] args) { Console.Title = "Математические операции с одномерными массивами"; Console.WriteLine("Введите размерность массива A:"); int n = Convert.ToInt32(Console.ReadLine()); double[] array = new double[n]; InputArray(array); SumNegative(array); MinMaxId(array); MultRange(array, MinMaxId(array)); Console.WriteLine("\nСортировка элементов массива в порядке возрастания:"); ArrSort(array); PrintArray(array); Console.ReadKey(); } public static int[] MinMaxId(double[] array) { double min = array[0]; double max = array[0]; int idMin = 0, idMax = 0; int[] minmax = new int[2]; for (int i = 1; i < array.Length; i++) { if (array[i] < array[idMin]) { min = array[i]; idMin = i; } if (array[i] > array[idMax]) { max = array[i]; idMax = i; } } minmax[0] = idMin; minmax[0] = idMax; Console.WriteLine("Максимальный элемент A[" + (idMax + 1) + "] = " + max); Console.WriteLine("Минимальный элемент A[" + (idMin + 1) + "] = " + min); return minmax; } public static void MultRange(double[] array, int[] minmax) { double mult = 1; int idStart = Math.Min(minmax[0], minmax[1]), idEnd = Math.Max(minmax[0], minmax[1]); for (int i = idStart; i <= idEnd; i++) { mult *= array[i]; if (array[i] < 0) { Console.Write("(" + array[i] + ")"); if (i < idEnd) { Console.Write(" * "); } } if (array[i] >= 0) { Console.Write(array[i]); if (i < idEnd) { Console.Write(" * "); } } if (i == idEnd) { Console.WriteLine(" = " + mult); } } Console.WriteLine("Т.е. произведение элементов массива, расположенных между максимальным и \nминимальным элементами = " + mult); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д