Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
tasik
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 52
1

Отсортировать массив структур по возрастанию

16.10.2013, 21:58. Просмотров 515. Ответов 5
Метки нет (Все метки)

Дана структура нужно отсортировать масив структур за вторим полем. struct AEROFLOT Flight[7];
C++
1
2
3
4
5
struct AEROFLOT{
    char destinationInfo[100];
    unsigned int flightNumber;
    char typeOfAirplane[100];
};
Испытывал разные алгоритмы, но ничего не получаеться. Пишу на С.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 21:58
Ответы с готовыми решениями:

Отсортировать массив по убыванию, затем добавить недостающий элемент и отсортировать массив по возрастанию
2) В массиве a ...a встречаются по одному разу все целые числа от 0 до n, кроме...

Блочная сортировка структур (Отсортировать массив структур по фамилии)
Подскажите алгоритм блочной сортировки структур на языке С++. Мне нужно...

Отсортировать массив структур
я начинающий программист, помогите пожалуйста отсортировать массив структур,...

Отсортировать массив структур
Пусть есть массив структер содержащий double и index. Например: (2.5, 1), (37,...

Отсортировать массив структур по заданному полю
std::sort(line.begin(), line.end(), (const data &A, const data &B)->bool...

5
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
16.10.2013, 22:29 2
tasik, может приведете код того что испытывали? будет проще подкорректировать
0
tasik
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 52
16.10.2013, 23:01  [ТС] 3
Не обижайтесь, я просто только начал програмировать и не очень сильно разбираюсь.

C
1
2
3
4
5
6
7
8
9
10
11
12
void insertSort(AEROFLOT* a, int size) 
{
    int i, j ;
    struct AEROFLOT tmp;
    for (i = 1; i < size; ++i) // öèêë ïðîõîäîâ, i - Г*îìåð ïðîõîäГ*
    {
        tmp = a[i]; 
        for (j = i - 1; j >= 0 && a[j] > tmp; --j) // ïîèñê ìåñòГ* ýëåìåГ*ГІГ* Гў ãîòîâîé ïîñëåäîâГ*òåëüГ*îñòè 
            a[j + 1] = a[j];    // ñäâèãГ*ГҐГ¬ ýëåìåГ*ГІ Г*Г*ГЇГ°Г*ГўГ®, ïîêГ* Г*ГҐ äîøëè
        a[j + 1] = tmp; // ìåñòî Г*Г*éäåГ*Г®, ГўГ±ГІГ*ГўГЁГІГј ýëåìåГ*ГІ    
    }
}
0
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
16.10.2013, 23:05 4
Цитата Сообщение от tasik Посмотреть сообщение
C
1
    struct AEROFLOT tmp;
должно быть так по идее
C++
1
AEROFLOT tmp;
хотя может в C по другому было
0
tasik
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 52
16.10.2013, 23:13  [ТС] 5
Цитата Сообщение от newb_programmer Посмотреть сообщение
должно быть так по идее
C++
1
AEROFLOT tmp;
хотя может в C по другому было

C++
1
AEROFLOT tmp;
- это в с++, а у С struct AEROFLOT tmp;
0
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
16.10.2013, 23:15 6
tasik, тогда вот
C++
1
 for (j = i - 1; j >= 0 && a[j] > tmp; --j)
вы должны сравнивать не структуры, а поля!
C++
1
a[j].flightNumber > tmp.flightNumber
1
16.10.2013, 23:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 23:15

Отсортировать и вывести на экран массив структур
Помогите доделать программу, сам сделал что то,но то что это правильно...

Отсортировать массив структур по фамилии или по году
// structura.cpp : Defines the entry point for the console application. // ...

Отсортировать массив по возрастанию
подскажите пожалуйста #include &lt;iostream&gt; #include &lt;iomanip&gt; #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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