Есть ответ 👍

Pascalabc вводится последовательность целых чисел, не превосходящих по модулю 10000. ноль - признак конца. вывести, сколько раз в этой последовательности встречается максимальный элемент.

202
257
Посмотреть ответы 2

Ответы на вопрос:

Tukko
4,6(43 оценок)

//pascalabc.net //версия 3.3, сборка 1634 (14.02.2018) function maxcnt(self: sequence of integer): integer; extensionmethod; begin   var (max,k): =(integer.minvalue,1);   foreach var v in self do     if v> max then (max,k): =(v,1)     else if v=max then k+=1;   result: =k     end; begin   readseqintegerwhile(t-> t< > 0).maxcnt.println; end. пример: 12 15 61 8 7 8 20 20 5 51 54 61 30 61 0 78 94 94 94 94 94 3 

Объяснения:

Описаны три класса: Student [Базовый],   MaleStudent, FemaleStudent.

Реализована логика расчета стипендии, учтена возможность смены параметров студентами (в том числе и пола).

Код:

using System;

namespace Durka

{

   class Program

   {

       static void Main(string[] args)

       {

           var male = Student.CreateMaleStudent("Cidodzy Ohlazhdai Blackjackovich", "1GT-b", 5f);

           var female = Student.CreateFemaleStudent("Viktoria Nya Victorovna", "1ZT-b", 4.8f);

           

           Console.WriteLine(male.GetPaymentAmount());

           Console.WriteLine(female.GetPaymentAmount());

       }

   }

   

   /// <summary>

   /// Class which describes students in general

   /// </summary>

   public abstract class Student

   {

       public string Names { get; set; }

       public string Group { get; set; }

       public float MeanGrade {

           get => _meanGrade;

           set

           {

               if (value > 5f || value < 0f)

               {

                   throw new ArgumentException("MeanGrade must be in [0; 5] range");

               }

               _meanGrade = value;

           }

       }

       private float _meanGrade;

       /// <summary>

       /// Method for calculating amount of students payment depending on inner class params such as sex, etc.

       /// </summary>

       /// <returns>double</returns>

       public abstract double GetPaymentAmount();

       

       /// <summary>

       /// Method for changing current sex to Male

       /// </summary>

       /// <returns>MaleStudent class object</returns>

       public abstract MaleStudent changeSexToMale();

       

       /// <summary>

       /// Method for changing current sex to Female

       /// </summary>

       /// <returns>FemaleStudent class object</returns>

       public abstract FemaleStudent changeSexToFemale();

       public static MaleStudent CreateMaleStudent(string names, string group, float meanGrade)

       {

           return new MaleStudent(names, group, meanGrade);

       }

       

       public static FemaleStudent CreateFemaleStudent(string names, string group, float meanGrade)

       {

           return new FemaleStudent(names, group, meanGrade);

       }

       

       /// <summary>

       /// Class which describes Male students

       /// </summary>

       public class MaleStudent : Student

       {

           protected internal MaleStudent(string names, string group, in float meanGrade)

           {

               Names = names;

               Group = group;

               MeanGrade = meanGrade;

           }

           public static float mul = 2000f;

           public override double GetPaymentAmount()

           {

               return MeanGrade > 4 ? mul : 0;

           }

           public sealed override MaleStudent changeSexToMale()

           {

               return this;

           }

           public sealed override FemaleStudent changeSexToFemale()

           {

               return new FemaleStudent(Names, Group, MeanGrade);

           }

       }

   

       /// <summary>

       /// Class which describes Female students

       /// </summary>

       public class FemaleStudent : Student

       {

           protected internal FemaleStudent(string names, string group, in float meanGrade)

           {

               Names = names;

               Group = group;

               MeanGrade = meanGrade;

           }

           

           public static float mul = 500f;

           public override double GetPaymentAmount()

           {

               return mul * MeanGrade;

           }

           public sealed override MaleStudent changeSexToMale()

           {

               return new MaleStudent(Names, Group, MeanGrade);

           }

           public sealed override FemaleStudent changeSexToFemale()

           {

               return this;

           }

       }

   }

}

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS