profile
Размещено 4 года назад по предмету Информатика от missirinapol

Помогите решить эту задачу, не скидывайте похожую которую найдете в инете
Создать класс Train, содержащий поля :
название пункта назначения
номер поезда
время отправления
Вести данные в массив из 5 элементов типа Train, упорядочить элементы по номерам поездов. Добавить возможность ввода информации о поезде, номер которого введен пользователем. Добавить возможность сортировки массива по пункту назначения, причем поезда с одинаковыми пунктами назначения должны быть упорядочены по времени отправления.

  1. Ответ на вопрос
    Ответ на вопрос дан BobbyFresnel

    // Pascal ABC.NET

    type

     Train = class

     

     private

     

       ПунктНазначения: string;

       НомерПоезда: string;

       ВремяOтправления: string;

       Информация: string;

       

       static function ЧастьНомера(s: string) := s.MatchValue('d*').ToInteger;

     

     public

     

     constructor (ПН, НП, ВО: string; И: string := '');

     begin

       ПунктНазначения := ПН;

       НомерПоезда := НП;

       ВремяOтправления := ВО;

       Информация := И

     end;

     

     static procedure УпорядочитьПункты(var a: array of Train) :=

       a := a.OrderBy(p -> p.ПунктНазначения)

           .ThenBy(p -> p.ВремяOтправления).ToArray;

       

     static procedure УпорядочитьНомера(var a: array of Train) :=

       a := a.OrderBy(p -> ЧастьНомера(p.НомерПоезда)).ToArray;  

     

     function ToString: string; override :=

         $'{ПунктНазначения,-20} {НомерПоезда,-5} {ВремяOтправления,7}' +

             $'  {Информация}';

         

    end;

    function ДобавитьИнформацию(Self: array of Train;

         НомерПоезда, Информация: string): boolean; extensionmethod;

    begin

     Result := True;

     var i := Self.FindIndex(p -> p.НомерПоезда = НомерПоезда);

     if i >= 0 then

       Self[i].Информация := Информация

     else

       Result := False

    end;

    begin

     var a := new Train[5];

     a[0] := new Train('Адлер','4c','15:40');

     a[1] := new Train('Санкт-Петербург','132п','07:19');

     a[2] := new Train('Казань','8ф','12:35');

     a[3] := new Train('Новосибирск','217п','18:05');

     a[4] := new Train('Адлер','18c','08:32');

     Train.УпорядочитьНомера(a);

     a.PrintLines;

     var np := ReadlnString('Номер поезда:');

     var info := ReadlnString('Добавочная информация:');

     if not a.ДобавитьИнформацию(np, info) then

       Println('Не найден номер поезда');

     Train.УпорядочитьПункты(a);

     a.PrintLines

    end.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.