написать программу на с++1. Обрисовать структуру с именованием TRAIN, содержащую следующие

Написать программку на с++
1. Описать структуру с именем TRAIN, содержащую последующие поля:

заглавие пт предназначения;

номер поезда;

время отправления.

2. Написать программку, исполняющую последующие деяния:

ввод с клавиатуры данных в массив, состоящий из восьми частей типа

TRAIN; записи обязаны быть упорядочены по номерам поездов;

вывод на экран инфы о поезде, номер которого введен с клавиатуры;

если таких поездов нет, выдать на дисплей соответствующее извещенье.

Задать свой вопрос
1 ответ
include lt;iostreamgt;
include lt;stringgt;
include lt;conio.hgt;
include lt;cstdlibgt;

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 lt; x) i++;
   while (arr[j].number gt; x) j--;
   if (ilt;=j)    if (arr[i].numbergt;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(ilt;=j);
  if (firstlt;j) qs(arr, first,j);
  if (lastgt;i) qs(arr,i,last);
 
void print(struct TRAIN *arr, int n)

    coutlt;lt;"Пункт предназначения\tНомер\tВремя\n";
    for(int i(0); i lt; n; i++)
     cout  lt;lt; arr[i].name lt;lt; '\t' lt;lt; arr[i].number lt;lt; '\t' lt;lt; arr[i].time lt;lt;'\n';
    cout lt;lt;endl;


int main(int argc, char *argv[])

     setlocale(0,"");
    const int N=8;
    TRAIN train[N];
    for(int i(0); i lt; N; i++)
    
      cout lt;lt;"Пункт предназначения: ";
      getline(cin,train[i].name);
      cout lt;lt;"Номер: ";
      cin gt;gt;train[i].number;
      cin.get();
      cout lt;lt;"Время: ";
      getline(cin, train[i].time);
      system("cls");
 
 
    print(train,N);
    qs(train,0,N-1); //Прыткая сортировка
    int n;
    cout lt;lt;"Номер поезда: ";
    cingt;gt;n;
    bool f=1;
    for(int k=0; k lt; N; k++)
     if (train[k].number == n)
      
      cout lt;lt; train[k].name lt;lt; '\t' lt;lt; train[k].number lt;lt; '\t' lt;lt; train[k].time lt;lt;'\n';
       f=0;
       break;
     
   if(f) cout lt;lt; "Нет такого номера поезда"; 
    cout lt;lt;endl;
    print(train,N);
        _getch();
    return 0;
 
Роман Шартанов
До бесконечности просит вводить пункт, номер и время. либо я что то ввожу не так?
Злата Катумина
Нужно ввести данные 8 раз, после заполнение 1-го элемента экран очищается. Для сокращения медли тестирования можно поменять константу N в меньшую сторону
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт