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

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

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




Конечно, я помогу вам создать класс Train
и написать код для решения данной задачи на языке программирования Python. Вот пример кода:
pythonclass 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
и запустить его. Программа предоставит вам возможность ввода данных о поездах, затем выведет отсортированный список по номерам и даст возможность получить информацию о конкретном поезде по его номеру. Далее будет выведен список отсортированных по пункту назначения и времени отправления поездов.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili