Написать программу на с++
1. Описать структуру с именем TRAIN, содержащую следующие поля:
• название пункта назначения;
• номер поезда;
• время отправления.
2. Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из восьми элементов типа
TRAIN; записи должны быть упорядочены по номерам поездов;
• вывод на экран информации о поезде, номер которого введен с клавиатуры;
• если таких поездов нет, выдать на дисплей соответствующее сообщение.
#include
#include
#include
#include
using namespace std;
struct TRAIN
{
string name,time;
int number;
};
void qs(struct TRAIN *arr,int first,int last)
{
int x=arr[(first+last)/2].number,
i=first,j=last;
do{
while (arr[i].number < x) i++;
while (arr[j].number > x) j--;
if (i<=j){ if (arr[i].number>arr[j].number)
{
int t=arr[i].number;
string str = arr[i].name;
string st = arr[i].time;
arr[i].number = arr[j].number;
arr[i].name = arr[j].name;
arr[i].time = arr[j].time;
arr[j].number = t;
arr[j].name = str;
arr[j].time = st;
}
i++;
j--;
}
}while(i<=j);
if (first
}
void print(struct TRAIN *arr, int n)
{
cout<<"Пункт назначенияtНомерtВремяn";
for(int i(0); i < n; i++)
cout << arr[i].name << t << arr[i].number << t << arr[i].time <
int main(int argc, char *argv[])
{
setlocale(0,"");
const int N=8;
TRAIN train[N];
for(int i(0); i < N; i++)
{
cout <<"Пункт назначения: ";
getline(cin,train[i].name);
cout <<"Номер: ";
cin >>train[i].number;
cin.get();
cout <<"Время: ";
getline(cin, train[i].time);
system("cls");
print(train,N);
qs(train,0,N-1); //Быстрая сортировка
int n;
cout <<"Номер поезда: ";
cin>>n;
bool f=1;
for(int k=0; k < N; k++)
if (train[k].number == n)
{
cout << train[k].name << t << train[k].number << t << train[k].time <
break;
}
if(f) cout << "Нет такого номера поезда";
cout <
_getch();
return 0;
}
