Поиск нескольких экземпляров с максимальным значением поля - C#
Формулировка задачи:
Дан код задания с созданным классом:
ПРОЦЕССОР: производитель (строка), модель (строка), тактовая частота в MHz (целое)
выполнен поиск по процессору с максимальной частотой. В поиске нужно что бы выводились несколько одинаковых процессоров с максимальной частотой (сейчас же он выводит лишь один одинаковый процессор с максимальной частотой)
Код программы.
namespace ConsoleApplication24 { class Program { static void Main() { Processor[] processors = new Processor[3]; for (int i = 0; i < processors.Length; i++) { processors[i] = new Processor(); Console.Write("Enter Manufacturer: "); processors[i].Manufacturer = Console.ReadLine(); Console.Write("Enter Model: "); processors[i].Model = Console.ReadLine(); Console.Write("Enter chastota: "); processors[i].Frequency = Int32.Parse(Console.ReadLine()); } Console.WriteLine(); foreach (Processor p in processors) Console.WriteLine(p.ProcessorInfo()); Processor fastest = processors[0]; foreach (Processor p in processors) if (p.Frequency > fastest.Frequency) fastest = p; Console.WriteLine("processor max chastots:"); Console.WriteLine(); Console.WriteLine("chastota:\r\n {0}", fastest.ProcessorInfo()); Console.ReadKey(); } } public class Processor { private string manufacturer; private string model; private int frequency; public string Manufacturer { get { return manufacturer; } set { if (manufacturer != value) manufacturer = value; } } public string Model { get { return model; } set { if (model != value) model = value; } } public int Frequency { get { return frequency; } set { if (frequency != value) frequency = value; } } public string ProcessorInfo() { return string.Format("Manufacturer: {0}\r\nModel: {1}\r\nchastota: {2}\r\n", Manufacturer, Model, Frequency); } } }
Решение задачи: «Поиск нескольких экземпляров с максимальным значением поля»
textual
Листинг программы
List<Processor> result = new List<Processor>(); for (int i = 1; i < processors.Length; i++) { if (processors[i].Frequency > max.Frequency) { max = processors[i]; } } for (int i = 0; i < processors.Length; i++) { if (processors[i].Frequency == max.Frequency) { result.Add(processors[i]); } } Console.WriteLine("processor max chastots:"); Console.WriteLine(); for (int i = 0; i < result.Count; i++) { Console.WriteLine("chastota:\r\n {0}", result[i].ProcessorInfo()); } Console.ReadKey();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д