Работа Со Структурами , На С++

Тема в разделе "C/C++/C#", создана пользователем slashkinks, 13 ноя 2012.

  1. slashkinks

    slashkinks Гость

    помогите пожалуйста дописать код на С++ (3,4,5 пункты)

    1) Описать структуру с именем Train, содержащую следующие поля: dest – название пункта назначения, number – номер поезда, time – время отправления.
    2) Написать программу, выполняющую ввод с клавиатуры данных в массив Rasp, состоящий из 6 элементов типа Train.
    3) Записи должны быть упорядочены по времени отправления поезда.
    4) Вывести на экран информацию о поездах, направляющихся в пункт, название которого введено с клавиатуры.
    5) Если таких поездов нет, то вывести соответствующее сообщение.

    Код (C++):
    #include <iostream>

    using namespace std;

    void main()
    {
    setlocale (LC_ALL,"Russian");

    const int n = 6;
    struct Train
    {
    char dest[20];
    int number;
    float time;
    };
    Train Rasp[n];
    for (int i = 0; i < n; i++)
    {
    cout << "\nВведите название пункта назначения: ";
    cin >> Rasp[n].dest;
    cout << "\nВведите номер поезда: ";
    cin>>Rasp[n].number;
    cout << "\nВведите время отправления: ";
    cin>>Rasp[n].time;
    }

    }
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    что конкретно не получается?
    можно использовать стандартную функцию qsort, одним из параметров в нее передается указатель на функцию сравнения. Функция сравнения в вашем случае может выглядеть как-то так:
    bool compare(const Train &a, const Train &:) const { return a.time < b.time; }
    но лучше ИМХО помещать записи не в массив а в или std::set, например, при этом достаточно будет в конструктор set передать указатель на эту же функцию сравнения.

    это 3 пункт.
    4 пункт может выглядеть как-то так:
     
Загрузка...

Поделиться этой страницей