Метод Parallel.For . Найти минимальный и максимальный элемент массива. Есть код - C#
Формулировка задачи:
Всем хай! Есть код, пишет ошибку компиляции. В чем проблема??? Помогите разобраться!
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void Main() { int min, max, min1 = 0, min2 = 0, max1 = 0, max2 = 0; int[] massiv = new int[] { 3, 4, 45, 55, 22 }; int k = Environment.ProcessorCount; int n = massiv.Length; int m = (n / k == 0) ? n / k : n / k + 1; double[] r = new double[k]; Parallel.For(0, k, i => { r[i] = 0.0; for (int j = i * m; j < m * (i + 1) && j < n; j++) min1 = massiv[0]; for (i = 1; i < n / 2; i++) { if (massiv[i] < min1) { min1 = massiv[i]; } } max1 = massiv[0]; for (i = 1; i < n / 2; i++) { if (massiv[i] > max1) { max1 = massiv[i]; } } r[i] = 0.0; { min2 = massiv[n / 2]; for (i = n / 2 + 1; i < n; i++) { if (massiv[i] < max2) { min2 = massiv[i]; } max2 = massiv[n / 2]; for (i = n / 2 + 1; i < n; i++) { if (massiv[i] > max2) { max2 = massiv[i]; double res = r[0]; if (min1 < min2) { min = min1; } else { min = min2; } if (max1 > max2) { max = max1; } else { max = max2; } Console.Write(massiv.Min() + " " + massiv.Max()); Console.ReadLine(); Console.WriteLine("min massiv "); Console.WriteLine("max massiv "); Console.WriteLine(min); Console.WriteLine(max); Console.ReadLine(); } } }
Решение задачи: «Метод Parallel.For . Найти минимальный и максимальный элемент массива. Есть код»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void Main() { int min, max, min1 = 0, min2 = 0, max1 = 0, max2 = 0; int[] massiv = new int[] { 3, 4, 45, 55, 22 }; int k = Environment.ProcessorCount; int n = massiv.Length; int m = (n / k == 0) ? n / k : n / k + 1; double[] r = new double[k]; Parallel.For(0, k, i => { r[i] = 0.0; for (int j = i * m; j < m * (i + 1) && j < n; j++) min1 = massiv[0]; for (i = 1; i < n / 2; i++) { if (massiv[i] < min1) { min1 = massiv[i]; } } max1 = massiv[0]; for (i = 1; i < n / 2; i++) { if (massiv[i] > max1) { max1 = massiv[i]; } } r[i] = 0.0; { min2 = massiv[n / 2]; for (i = n / 2 + 1; i < n; i++) { if (massiv[i] < max2) { min2 = massiv[i]; } max2 = massiv[n / 2]; for (i = n / 2 + 1; i < n; i++) { if (massiv[i] > max2) { max2 = massiv[i]; double res = r[0]; if (min1 < min2) { min = min1; } else { min = min2; } if (max1 > max2) { max = max1; } else { max = max2; } Console.Write(massiv.Min() + " " + massiv.Max()); Console.ReadLine(); Console.WriteLine("min massiv "); Console.WriteLine("max massiv "); Console.WriteLine(min); Console.WriteLine(max); Console.ReadLine(); } } } } }); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д