Объяснение:
#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;
}
розгалуження виконується, коли виконання попереднього розгалуження ще не закінчено.
Наприклад, вам потрібно встановити будильник на завтра. Якщо
завтра робочий день, то ви повинні встати о 7-й годині ранку, щоб іти
до школи. Якщо завтра субота, то ви повинні встати о 8-й годині ранку, щоб їхати на заняття гуртка. Якщо завтра неділя, то ви встаєте о
9-й годині ранку.
У наведеному на малюнку алгоритмі друге розгалуження з
умовою Завтра субота? міститься всередині першого розгалуження з
умовою Завтра робочий день?.
Такий фрагмент алгоритму називають вкладеним розгалуженням.
Вкладені розгалуження - це фрагмент алгоритму, у якому одне
розгалуження міститься всередині іншого розгалуження.
Розглянемо виконання наведеного на малюнку 3.26 фрагмента алгоритму. Спочатку перевіряється умова Завтра робочий день?. Якщо
результат перевірки цієї умови Так, то виконується команда Установити будильник на 7-му годину ранку і на цьому виконання всього
цього фрагмента алгоритму закінчується. Якщо результат перевірки
умови Завтра робочий день? - Ні, то перевіряється умова Завтра субота?. Якщо результат перевірки цієї умови Так, то виконується команда
Установити будильник на 8-му годину ранку і на цьому виконання всього цього фрагмента алгоритму закінчується, а якщо результат перевірки
цієї умови Ні, то виконується команда Установити будильник на 9-ту
годину ранку і виконання всього цього фрагмента алгоритму закінчується.
У наведеному на малюнку
фрагменті алгоритму внутрішнє
розгалуження виконується, якщо результат перевірки умови зовнішнього розгалуження Ні.
Объяснение:
рисунок 3.26 (во вложении)