Максимальный среди отрицательных и минимальный среди положительных элемент в массиве System Array - C#
Формулировка задачи:
Есть вопрос относительно одномерного массива System Array
Есть код программы, которая ищет минимальный положительный и максимальный отрицательный элемент массива:
Вроде пашет верно, но, но, она считает минимальное положительное число верно, тогда и только тогда когда первый элемент массива сам положителен, а если присвоить max = 0 то при выводе всегда будет max = 0, я не могу понять почему оно так тупо считает
А еще, она выводит максимальное отрицательное число по модулю, а как сделать так чтобы оно выводило максимальное отрицательное простое, ведь максимальное отрицательное число это -1, если его нету то любое следующее за ним число.
Ответ найден, можете закрывать тему
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Massiv_1_Array { class Program { static void Main(string[] args) { Random r = new Random(); const int n = 10; int[] a = new int[n]; Console.WriteLine("Массив: "); for (int i = 0; i < a.Length; i++) { a.SetValue(r.Next(-20, 20), i); Console.Write(" " + a.GetValue(i)); } Console.WriteLine(); // ошибка при присваивании максимального элемента int max = a[0]; for (int i = 0; i < a.Length; i++) if (a[i] > 0 && a[i] < max) max = a[i]; int min = 0; for (int i = 0; i < a.Length; i++) if (a[i] < 0 && a[i] < min) min = a[i]; Console.WriteLine("max: " + max); Console.WriteLine("min: " + min); Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Massiv_1_Array { class Program { static void Main(string[] args) { Random r = new Random(); const int n = 10; int[] a = new int[n]; Console.WriteLine("Массив: "); for (int i = 0; i < a.Length; i++) { a.SetValue(r.Next(-20, 20), i); Console.Write(" " + a.GetValue(i)); } Console.WriteLine(); // ошибка при присваивании максимального элемента double max = double.MinValue; double min = double.MaxValue; for (int i = 0; i < a.Length; i++) if (a[i] < 0 && a[i] > max) max = a[i]; for (int i = 0; i < a.Length; i++) if (a[i] > 0 && a[i] < min) min = a[i]; Console.WriteLine("Минимальное среди положительных: " + min, "\n"); Console.WriteLine("Максимальное среди отрицательных: " + max, "\n"); Console.ReadKey(); } } }
Решение задачи: «Максимальный среди отрицательных и минимальный среди положительных элемент в массиве System Array»
textual
Листинг программы
if (max != double.MinValue) Console.WriteLine(max); else Console.WriteLine("Не найдено");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д