Предмет: Информатика, автор: missirinapol

Поясните пожалуйста код С++
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;
}


Омскаяптица: Странный вы человек, не проще ли было спросить сразу у меня? У человека, который все это написал?
Helper211: Поддерживаю. В вопросе отсутствует часть кода (а именно описание структуры train), что затрудняет объяснение (в иных случаях отсутствие блока кода может сделать это невозможным).

Ответы

Автор ответа: Helper211
0

Ответ:

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;

}

Интересные вопросы
Предмет: Русский язык, автор: nastyasparta

(1)Поговорим о читателе. (2)O нем говорят редко и мало. (3)А между тем читатель - лицо незаменимое. (4)Без него не только наши книги, но и все произведения Гомера, Данте, Шекспира, Гете, Пушкина - всего лишь немая и мёртвая груда бумаги.

(5)Oтдельные читатели могут иной раз ошибочно судить о книгах, но за Читателем в большом, собирательном значении этого слова - и притом на протяжении более или менее продолжительного периода времени - всегда остается последнее слово в оценке литературного произведения.

(6)Правда, оценка книги, утвердившаяся на известный срок, очень часто меняется. (7)Какая-нибудь будка, расположенная вблизи, может заслонить башню, стоящую вдали. (8)Но рано или поздно мы осознаем этот обман зрения и начинаем представлять себе литературные величины в более правильные масштабах.

(9)Время идет - одно поколение сменяет другое, и каждое из них по-своему оценивает дошедшее до него литературное наследство. (10)И если прозаик или поэт сохраняют свое значение и вес в течение веков, то это объясняется не тем, что они были однажды зачислены в ряды гениев и классиков или увековечены воздвигнутыми в их честь монументами, а тем, что и новые поколения признают их ценными и нужными для жизни.

(11)А бывают случаи, когда книга, мирно лежащая у нас на полке, постепенно и незаметно теряет свое обаяние. (12)Она как бы уничтожается, сливаясь с другими, ей подобными.

(13)Решает судьбу книги живой человек, читатель. (14)Все струны, которыми по - своему владеет автор, есть в сердцах у читателей. (15)Иных струн у автора нет. (16)В зависимости от качества игры на этих струнах они отзываются в душах людей то глухо, то звонко, то громко, то тихо.


Из предложений 14-16 выпишите два контекстных синонима.
Из предложения 7 выпишите два лексических антонима.
Какой троп используется в предложении 16?
Из предложений 9-10 выпишите слово, образованное приставочно-суффиксальным способом.
Из предложений 6-8 выпишите слово с чередованием гласной в корне, объясните правило графически.
Запишите грамматическое средство, с помощью которого осуществляется связь 3 и 4 предложений.
Опираясь на текст, дайте определение понятию классическая литература. Используйте для этого следующую схему предложения: сущ. Им. п. ― сущ. Им.п. Объяснить графически постановку знаков препинания .
Предмет: Математика, автор: muroba