Максимальный среди отрицательных и минимальный среди положительных элемент в массиве 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("Не найдено");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д