Поиск нескольких экземпляров с максимальным значением поля - 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();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы