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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2011, 20:50   #1
FarmHend
Новичок
Джуниор
 
Регистрация: 19.09.2011
Сообщений: 2
Вопрос Как отсортировать массив объектов класса по какому либо полю

Прошу помочь с программой: пользователь вводит массив из трёх объектов класса SCHOOL (название урока и время его начала), потом программа сортирует их по времени начала и выводит отсортированные значения. Если ввод/вывод я смог написать, то сортировку, за недостатком опыта, не осилил. Честно попытавшись выполнить сортировку "пузырьком", я окончательно запутался и решил попросить помощи у более опытных программистов.

Листинг:
Цитата:
#include <iostream>
#include <locale.h>
#include <string.h>

using namespace std;

const int n=3;

const int MAX=12;

class SCHOOL
{
private:
char NameStud [MAX];
double Time;
public:
void Set();//ввод информации
void Get();//вывод информации
void SCHOOL::Set()
{

setlocale(LC_ALL,"Russian");
cout<<"Введите название урока (максимально-11 букв) английскими буквами:"<<endl;
cin>>NameStud;
cout<<"Введите время начала (в формате чч.мм):"<<endl;
cin>>Time;

cout<<" \n";
}
void SCHOOL::Get()
{

cout<<"\tназвание урока: "<<NameStud<<endl
<<"\tвремя начала: "<<Time<<endl
<<"\n";
}
};

int main()
{
int i=0;
SCHOOL ObjStud [n];

for(i; i<n; i++)
{
setlocale(LC_ALL,"Russian");
cout<<"Данные для "<<i+1<<"-го урока"<<endl;

ObjStud[i].Set();
}
cout<<"\n";
/*здесь должна быть сортировка*/
////////////////////////////////////////


for(i; i<n; i++)
{

ObjStud[i].Get();
}
return 0;
}
FarmHend вне форума Ответить с цитированием
Старый 15.11.2011, 21:39   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Вообще сортировать массив чего-либо отличающегося от массива целых чисел не практично. Как вариант добавьте еще массив целых, который бы хранил индексы основного массива и сортируйте его .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 16.11.2011, 06:19   #3
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

ну почему же непрактично? можно (а судя по заданию - нужно) просто при сортировке сравнивать не всю структуру (не думаю что компилятор вообще даст это сделать ), а только поле с временем (Time), а перестановки уже всей структуры производить
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 16.11.2011, 08:00   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
ну почему же непрактично? можно (а судя по заданию - нужно) просто при сортировке сравнивать не всю структуру (не думаю что компилятор вообще даст это сделать ), а только поле с временем (Time), а перестановки уже всей структуры производить
Я предлагаю общее решение для всех задач такого рода, а не только для конкретной. К тому же по времени обмен целых должен быть быстрей, чем обмен данных между объектами.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 16.11.2011 в 08:14.
Utkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив объектов класса. zipwind Общие вопросы C/C++ 8 01.05.2011 20:56
динамический массив объектов класса. С++ Шиншилка Помощь студентам 8 25.04.2011 17:58
Обращение к из одной функции класса к другой того же класса,не указывая к какому объекту она относиться zipwind C++ Builder 1 09.04.2011 17:18
Можно ли использовать новую форму только дря хранения какого-либо(каких-либо) класса? TwiX Общие вопросы Delphi 8 03.10.2009 11:06
Как отсортировать НД по Lookup-полю? Schumacher БД в Delphi 4 21.06.2007 14:07