Передать значение в метод - 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д