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

Кто с Беларуси . 8 класс. ​

Показать ответ
Ответ:
хеллокиттичка
хеллокиттичка
29.05.2023 15:34

Объяснение:

#include "stdafx.h"

#include <conio.h>

#include <iostream>

#include <cstdlib>

#include <stdio.h>

#include <math.h>

using namespace std;

 

struct Train {  // указатель на узел, динамическую структуру Train

   int number; //ввод поля номер для поезда

   char path[10];// ввод поля пункт назначения поезда

   int hour;// ввод поля время отправления поезда (часы)

   int min; //ввод поля время отправления поезда (минуты стандартных имён

int main() {

   const int N = 5;

   setlocale(LC_ALL, "Russian");// подключение русского  языка  

   Train trains[5];// указание количества поездов в структуре

   for (int i = 0; i < N; i++) { // начало цикла для введения данных о 5 поездах

       cout << "Введите пункт назначения поезда " << i + 1 << endl; // Вывод на экран сообщения о необходимости ввести имя

       cin >> trains[ i ].path ; //ввод имени пользователем

       cout << "Введите номер для поезда " << i + 1 << endl;

       cin >> trains[ i ].number;

   cout << "Введите время отправления для поезда (часы) " << i + 1 << endl;

   cin >> trains[ i ].hour ;

   cout << "Введите время отправления для поезда (минуты) " << i + 1 << endl;

   cin >> trains[ i ].min ;

   }

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

{

    for(int j = i + 1; j < N; j++)  

    {

         if(strcmp(trains[i].path, trains[j].path)>0)

          {

       Train tmp = trains[i];

       trains[i] = trains[j];

       trains[j] = tmp;

          }

    }

}

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

{

    cout << " Пункт назначения: " << trains[ i ].path << "   номер: " << trains[ i ].number << "   Время отправления: " << trains[ i ].hour << ":" << trains[ i ].min  << endl << endl;

}

int time_h;

int time_min;

int k = 0;

cout << "Введите ваше время (часы затем минуты)" << endl;

cin >> time_h >> time_min;

cout << " Ваше время:" << time_h <<":" << time_min << endl << endl;

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

{

    if((time_h < trains[i].hour) || (time_h == trains[i].hour && time_min < trains[i].min))

   {

        cout << " следующие поезда отправятся после вашего времени: " << trains[i].number  <<" с временем "<< trains[i].hour << ":"<< trains[i].min << endl;

        k++;

       }

}

    if(k == 0)

   cout << " Нет подходящих поездов" << endl;

   

_getch();

return 0;

}

0,0(0 оценок)
Ответ:
64738248585884847
64738248585884847
29.05.2023 15:34

Исходник прикреплю в закреп, в двух форматах на всякий!!

Объяснение:

#include <iostream>

#include <string>

#include <ctime>

using namespace std;

class Time {

public:

Time()

 : m_hours(0), m_minutes(0) {

 //TODO

}

Time(short hours, short minutes)

 : m_hours(hours), m_minutes(minutes) {

 //TODO

}

Time operator-(const Time& time) {

 Time tempTime;

 tempTime.m_minutes = this->m_minutes - time.m_minutes;

 if (tempTime.m_minutes < 0) {

  tempTime.m_minutes += 60;

 }

 tempTime.m_hours = this->m_hours - time.m_hours;

 if (tempTime.m_hours < 0) {

  tempTime.m_hours += 23;

 }

 return tempTime;

}

friend std::ostream& operator<<(std::ostream& os, const Time& time);

friend std::istream& operator>>(std::istream& is, Time& time);

short m_hours;

short m_minutes;

};

std::ostream& operator<<(std::ostream& os, const Time& time) {

if (time.m_hours < 10) {

 os<< "0";

}

os<< time.m_hours << ":";

if (time.m_minutes < 10) {

 os<< "0";

}

os << time.m_minutes;

return os;

}

std::istream& operator>>(std::istream& is, Time& time) {

char delim{ ':' };

is >> time.m_hours >> delim >> time.m_minutes;

if (time.m_hours > 23) {

 time.m_hours %= 24;

}

if (time.m_minutes > 59) {

 time.m_minutes %= 60;

}

return is;

}

class train

{

public:

string punkt;

int trainNumber;

Time startTime;

train(string punkt1, int trainNumber1, Time startTime1)

{

 punkt = punkt1;

 trainNumber = trainNumber1;

 startTime = startTime1;

}

};

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;

}

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