Вопрос задан 09.07.2023 в 19:08. Предмет Информатика. Спрашивает Тюрин Влад.

Помогите решить эту задачу, не скидывайте похожую которую найдете в инете Создать класс Train,

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бутенин Савелий.

// 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.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам создать класс Train и написать код для решения данной задачи на языке программирования Python. Вот пример кода:

python
class Train: def __init__(self, destination, train_number, departure_time): self.destination = destination self.train_number = train_number self.departure_time = departure_time def input_train_data(): trains = [] for _ in range(5): destination = input("Введите название пункта назначения: ") train_number = int(input("Введите номер поезда: ")) departure_time = input("Введите время отправления: ") train = Train(destination, train_number, departure_time) trains.append(train) return trains def sort_trains_by_number(trains): return sorted(trains, key=lambda train: train.train_number) def sort_trains_by_destination(trains): return sorted(trains, key=lambda train: (train.destination, train.departure_time)) def main(): train_list = input_train_data() print("\nПоезда, отсортированные по номерам:") sorted_by_number = sort_trains_by_number(train_list) for train in sorted_by_number: print(f"Поезд {train.train_number} отправляется в {train.destination} в {train.departure_time}") user_input = int(input("\nВведите номер поезда, чтобы получить информацию о нем: ")) found_train = None for train in train_list: if train.train_number == user_input: found_train = train break if found_train: print(f"\nИнформация о выбранном поезде:") print(f"Поезд {found_train.train_number} отправляется в {found_train.destination} в {found_train.departure_time}") else: print("Поезд с указанным номером не найден.") print("\nПоезда, отсортированные по пункту назначения и времени отправления:") sorted_by_destination = sort_trains_by_destination(train_list) for train in sorted_by_destination: print(f"Поезд {train.train_number} отправляется в {train.destination} в {train.departure_time}") if __name__ == "__main__": main()

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос