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

Поясните код С++
int main()
{
train* arrayOfTrain[5];
for (int i = 0; i < 5; i++)
{
string punkt;
int trainNumber;
Time startTime;
cin >> punkt;
cin >> trainNumber;
cin >> startTime;
arrayOfTrain[i] = new train(punkt, trainNumber, startTime);
}

for (int i = 0; i < 5 - 1; i++)
for (int j = i + 1; j < 5; j++) {
if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) > 0)
{
swap(arrayOfTrain[i], arrayOfTrain[j]);
}
}

for (int i = 0; i < 5 - 1; i++)
for (int j = i + 1; j < 5; j++) {
if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) == 0)
{
if (arrayOfTrain[i]->startTime.m_hours > arrayOfTrain[j]->startTime.m_hours)
swap(arrayOfTrain[i], arrayOfTrain[j]);
if (arrayOfTrain[i]->startTime.m_hours == arrayOfTrain[j]->startTime.m_hours)
if (arrayOfTrain[i]->startTime.m_minutes > arrayOfTrain[j]->startTime.m_minutes)
swap(arrayOfTrain[i], arrayOfTrain[j]);
}
}

for (int i = 0; i < 5; i++)
{
cout << arrayOfTrain[i]->punkt << " " << arrayOfTrain[i]->trainNumber << " " << arrayOfTrain[i]->startTime << endl;
}
system("pause");
return 0;
}

Ответ:
Artem517Art
Artem517Art
13.10.2020 03:02

int main()

{

train* arrayOfTrain[5];  // создается массив указателей на объекты train

// в следующем цикле у пользователя запрашивается заполнение пяти объектов train

for (int i = 0; i < 5; i++)

{

string punkt;

int trainNumber;

Time startTime;

cin >> punkt;  // ввод пункта

cin >> trainNumber;  // ввод номера поезда

cin >> startTime;  // ввод времени

// в следующей строке выделяется память под объект train, ему присваиваются введенные данные

arrayOfTrain[i] = new train(punkt, trainNumber, startTime);

}

// сортировка массива по длине названия пункта назначения

// ( функция strcmp сравнивает длины строк )

for (int i = 0; i < 5 - 1; i++)

for (int j = i + 1; j < 5; j++) {

if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) > 0)

{

swap(arrayOfTrain[i], arrayOfTrain[j]);

}

}

// сортировка элементов с одинаковой длиной названия пункта назначения по времени отправления

for (int i = 0; i < 5 - 1; i++)

for (int j = i + 1; j < 5; j++) {

if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) == 0)

{

if (arrayOfTrain[i]->startTime.m_hours > arrayOfTrain[j]->startTime.m_hours)

swap(arrayOfTrain[i], arrayOfTrain[j]);

if (arrayOfTrain[i]->startTime.m_hours == arrayOfTrain[j]->startTime.m_hours)

if (arrayOfTrain[i]->startTime.m_minutes > arrayOfTrain[j]->startTime.m_minutes)

swap(arrayOfTrain[i], arrayOfTrain[j]);

}

}

// вывод массива на экран

for (int i = 0; i < 5; i++)

{

cout << arrayOfTrain[i]->punkt << " " << arrayOfTrain[i]->trainNumber << " " << arrayOfTrain[i]->startTime << endl;

}

system("pause");

return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?