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