Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
#1

Сортировка внутри сортировки - C++

19.10.2013, 00:03. Просмотров 300. Ответов 4
Метки нет (Все метки)

Необходимо отсортировать структуру студент по группам а потом по ФИО. по группам сортирует а по ФИО уже нет, подскажите где косячу
C++
1
2
3
4
5
struct student
   {
        char FIO[50];
        int group;
   } ;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <typename T>
void groupSort(T a[], long size) {
    T x;
    long i, j,k;
    for(i=0;i<size;i++){  
        x=a[i];
//по группам
        for (j=i-1;j>=0&&a[j].group>x.group;j--)
                a[j+1]=a[j];    
        a[j+1] = x;
//дальше по фио
        for(k=0;k<size;k++){ 
        x=a[k];
        for (j=k-1;j>=0&&a[j].FIO<x.FIO;j--)
                a[j+1]=a[j];    
        a[j+1] = x;
        } 
    }
}
вот вывод
Nikolaev Nikolai 1
Fedorov Fedor 2
Ivanov Ivan 1
Alexeev Aleksei 2
Stepanov Stepan 1
Sorted:
Nikolaev Nikolai 1
Ivanov Ivan 1
Stepanov Stepan 1
Fedorov Fedor 2
Alexeev Aleksei 2

Для продолжения нажмите любую клавишу . . .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2013, 00:03     Сортировка внутри сортировки
Посмотрите здесь:

Сортировка внутри строки - C++
Помогите пожалуйста Нужно отсортировать строку так, чтобы все слова палиндромы шли по алфавиту другие слова и разделители оставить на...

Сортировка последовательности методом быстрой сортировки - C++
помогите :Написати програму для сортування послідовності 45 37 2 5 9 12 6 4 52 методом швидкого сортування. На кожному кроці виводити...

Сортировка координат (методом быстрой сортировки) - C++
Как отсортировать координаты сначала по x, а при равных x по y, методом быстрой сортировки? Если отсортировать по x, а затем по y, можем...

Лорин Гарольд - Сортировка и системы сортировки - C++
Доброго времени суток. Подсжкаите пожалуйста где можно скачать эту книгу бесплатно. Я уже задолбался гуглить, ничего не могу найти.

Методы сортировки: QuickSort и сортировка вставкой - C++
Помогите добавить сортировки в программу. Упорядочить по неубыванию массив структур по заданному ключу. Ключ: возраст. Методы...

Внешние сортировки. Сортировка слиянием. Простое слияние - C++
Пом-гите решить, заранее благодарен.)) Билет 8 1 .Внешние сортировки. Сортировка слиянием. Простое слияние. 2 Решить задачу: ...

Внешние сортировки. Сортировка слиянием. Естественное слияние - C++
Пом-гите решить, заранее благодарен.)) Билет 9 1 .Внешние сортировки. Сортировка слиянием. Естественное слияние. 2 Решить...

Сортировка обменом массива. Усложненный вариант сортировки - C++
Сделать сортировку обменом массива случайных чисел от -Н до Н-1. Рвсположить элементы сначала парные по возрастанию, потом непарные тоже по...

Сортировка Шелла. В чём ошибка?(код внутри) - C++
Отсортировать элементы массива по возрастанию методом Шелла. Элементы ввести с клавиатуры. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; ...

Алгоритмы сортировки (сортировка и вычисляемыми адресами, вычерпыванием, по индексам и с указателями). - C++
Алгоритмы сортировки (сортировка и вычисляемыми адресами, вычерпыванием, по индексам и с указателями). Нужно как бы три программы(каждую...

[Сортировка слиянием] Уменьшить количество требуемой памяти для сортировки - C++
Добрый, на момент написания, день всем. Изучаю алгоритмы данных, дошёл до сортировки слиянием (Merge Sort). Прочитал, что для...

Алгоритмы сортировки: прямые, улучшенные (Сортировка с помощью прямого включения (метод простых вставок)) - C++
Задание 1. Сортировка с помощью прямого включения (метод простых вставок). Методические указания к выполнению задания 1 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2323 / 1949 / 192
Регистрация: 03.07.2012
Сообщений: 6,996
Записей в блоге: 1
19.10.2013, 01:41     Сортировка внутри сортировки #2
Как происходит сравнение a[j].FIO<x.FIO (адреса чтоли сравниваешь)?
Вникать лень, а комментариев нету...
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
19.10.2013, 01:44     Сортировка внутри сортировки #3
x, y - переменные
param1, param2 - параметры. Сначала надо отсортировать по param1, а при равенстве полей по param2
C++
1
2
3
4
5
6
7
8
if (x.param1 < y.param1)
{
 ...
}
else if (x.param1 == y.param1 && x.param2 < y.param2)
{
 ...
}
Добавлено через 39 секунд
Для массивов char оператор < не определен, необходимо использовать функцию strcmp
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
19.10.2013, 01:47  [ТС]     Сортировка внутри сортировки #4
спасибо за ответы! завтра с утреца со свежей головой буду пробовать=)))
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
19.10.2013, 01:48     Сортировка внутри сортировки #5
В чем суть шаблонов, если в итоге используются специфичные для него поля? Да и вообще, в чем их суть? Где здесь потенциально возможный общий код?

Добавлено через 36 секунд

Не по теме:

Цитата Сообщение от newb_programmer Посмотреть сообщение
завтра с утреца со свежей головой буду пробовать=)))
я смотрю у многих тут пятница наступила

Yandex
Объявления
19.10.2013, 01:48     Сортировка внутри сортировки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru