Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2016, 19:50   #1
NilK
Новичок
Джуниор
 
Регистрация: 23.03.2016
Сообщений: 2
По умолчанию Сортировка

1. Описать структуру с именем TRAIN, содержащую следующие поля:
• название пункта назначения;
• номер поезда;
• время отправления.
2. Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из шести структур типа TRAIN;
• упорядочение записей по времени отправления поезда;
• вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;
• если таких поездов нет, вывести соответствующее сообщение.

Не работает сортировка qsort


Код:
#include <iostream>
#include <string.h>
#include <cstdlib>
 
using namespace std;
 
struct Trains{
    char pn[20];
    int num;
    char time[6];
};
 
int compare(const void * x1, const void * x2)   // функция сравнения элементов массива
{
  return ( *(int*)x1 - *(int*)x2 );              // если результат вычитания равен 0, то числа равны, < 0: x1 < x2; > 0: x1 > x2
}
 
int main()
{ 
    int n = 2;
    Trains train[n];
    int i = 0;
    for (i = 0; i < n; i++){
        cout << "Input pn train: " << endl;
        cin >> train[i].pn;
        cout << "Input number of train: " << endl;
        cin >> train[i].num;
        cout << "Input time train: " << endl;
        cin >> train[i].time;
    }
    
    qsort(train[i].time, 2, sizeof(int), compare);
    for ( int i = 0; i < 2; i++){
        cout << train[i].pn << endl;
    }

    char pp[20];
    cout << "Input pn of train: " << endl;
    cin >> pp;
    for (i = 0; i < n; i++){
        if (strcmp(train[i].pn, pp) == 0){
            cout << "Poezd #" << train[i].num << ' ' << train[i].time << ' ';
        }
        if (strcmp(train[i].pn, pp) > 1) {
            cout << "Net takih poezdov";
        }
    }
    return 0;
}

Последний раз редактировалось Вадим Мошев; 23.03.2016 в 21:54.
NilK вне форума Ответить с цитированием
Старый 23.03.2016, 19:59   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

у вас же не инты и их не два
p51x вне форума Ответить с цитированием
Старый 23.03.2016, 20:04   #3
NilK
Новичок
Джуниор
 
Регистрация: 23.03.2016
Сообщений: 2
По умолчанию

Если бы я просил решить за меня, то бы скинул просто условие. А так есть программа, есть сортировка, которая не работает. Я понимаю, что она и не может работать, но не знаю, как корректно ей записать. Над этим я думал не один, читал не один сайт, разбирал много примеров, но, как видите, не понял. Вот и попросил помощи у знающих людей. Если кто-то может- пусть сделает, нет- тогда зачем писать советы, не относящиеся к задаче?
NilK вне форума Ответить с цитированием
Старый 23.03.2016, 20:37   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Могу дать еще пару советов:
1. Я вам написал почему не работает: У ВАС НЕ ИНТЫ И ИХ НЕ ДВА
2. Купите себе очки, чтобы отличать подпись от поста
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32