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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2012, 22:12   #1
vladqa
Новичок
Джуниор
 
Регистрация: 24.04.2012
Сообщений: 1
По умолчанию Сортиривка массива структур по нескольким значениям

Здравствуйте!
Задача: получить отсортированный массив структур, отсортированный по эл-ту birth, который есть массив из 3 эл-тов (день, месяц и год). Короче говоря, осортировать надо по дате рождения.

Вот то, что написал (попытался обычным пузырьком только для структур), но совершенно никакого результата:

Код:
const int S_COUNT = 3; // Количество структур

struct NOTE { 
        char name[50], surname[50]; 
        unsigned int phone; 
        unsigned int birth[2]; 
    } NOTES[S_COUNT];
    

void sort_by_birth(NOTE* NOTES, const int size) {
    int t = 1;
    while(t == 1) {
        t = 0;
        NOTE tmp_note;
        for(int i = 0; i < size-1; i++) {
            for(int j = 0; j < 3; j++) {
                if(NOTES[i].birth[j] > NOTES[i+1].birth[j]) {
                    tmp_note = NOTES[i+1];
                    NOTES[i] = NOTES[i+1];
                    NOTES[i+1] = tmp_note;
                    t = 1;
                }
            }       
        }
    }
}


/* 
 * 
 */ 
int main(int argc, char** argv) { 

    for(int i = 0; i < S_COUNT; i++) {
        cout << endl << "Заполняем " << i << endl;
        
        cout << "Введите дату рождения ДД ММ ГГ: ";
        cin >> NOTES[i].birth[0] >> NOTES[i].birth[1] >> NOTES[i].birth[2];
        
        sort_by_birth(&NOTES[S_COUNT], i);
    }
    
    for(int i = 0; i < S_COUNT; i++) {
        cout << endl << "Выводим ";        
        cout << NOTES[i].birth[0] << NOTES[i].birth[1] << NOTES[i].birth[2] << endl;
    }
    
    return 0; 
}
vladqa вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива структур fonRocki Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 24.04.2012 23:00
выбор строк из таблицы по нескольким значениям v.v.1992 C/C++ Базы данных 2 07.04.2012 12:54
Сортировка массива структур ZevS13 Visual C++ 0 14.04.2011 23:42
Сортировка массива структур MrBobyara Помощь студентам 4 16.06.2010 11:48
сортировка массива структур silence_master Помощь студентам 4 05.05.2010 21:26