Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать функцию, которая шифрует переданное ей целое беззнаковое число http://www.cyberforum.ru/cpp-beginners/thread974852.html
Написать функцию, которая шифрует переданное ей целое беззнаковое число путём смены местами 0-го и 1-го битов, 2-го и 3-го, … , 30-го и 31-го битов. Функция должна принимать в качестве параметра...
C++ Один слушатель для нескольких компонентов На форме имеется несколько кнопок, которые создаются в цикле и заносятся в массив (List). Можно ли и как в одном обработчике обрабатывать клик по ним? При этом должна быть возможность "обращения" к... http://www.cyberforum.ru/cpp-beginners/thread974838.html
Пояснение C++
return - точности в использование + пример return (<повтор действие>) Добавлено через 36 секунд Как-то связано с рекурс?Или как цыкл?
C++ количество четных элементов одномерного массива до числа равному а, Определить количество нечетных элементов двумерного массива
1.Найти количество четных элементов одномерного массива до первого встреченного числа равного наперед заданному числу а. 2.Дан двумерный массив. Определить количество нечетных элементов массива. ...
C++ Проверка содержимого массива http://www.cyberforum.ru/cpp-beginners/thread974807.html
Допустим если есть массив char array = { '_' '_' '_' '_' '_' '_' '_' '_' '_' '_' '_'} // и тд.. Как проверить если 1==2==3 элемент массива содержат букве E вывести что вы правы, также проверка...
C++ Ассоциативный массив Простите за нубский вопрос, но гугл мне не помог( Нужно реализовать список радиочастот и названий радио. Получается нужен ассоциативный массив. Я выбрал map. Все бы ничего, но ключ масива должен... подробнее

Показать сообщение отдельно
Heidel
111 / 111 / 7
Регистрация: 11.10.2011
Сообщений: 647

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

11.10.2013, 17:13. Просмотров 304. Ответов 1
Метки (Все метки)

Нужно создать структуру Student c полями Имя, Номер группы, Оценки (массив из 5 элементов)
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
using namespace std;
 
const int num = 5;
 
struct Student  {
    string name;
    int groupNumber;
    int progress[num];
};
Потом нужно создать массив структур и отсортировать его по возрастанию номера группы. Пробую сделать через указатели, не получается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "stdafx.h"
#include "Student.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
srand((unsigned)time(NULL));
 
int n;
cout << "Input n = ";
cin >> n;
cin.ignore();
 
Student * Group = new Student[n];
 
for (int i = 0; i < n; ++i)
{
    cout << "Input name: ";
    getline (cin, Group[i].name);
    Group[i].groupNumber = rand()%5 + 1;
    for (int j = 0; j < num; ++j)
    {
        Group[i].progress[j] = rand()%5 + 2;
    }
}
 
int * groupNumberArray = new int[n];
for (int i = 0; i < n; ++i)
{
    groupNumberArray[i] = Group[i].groupNumber;
}
 
for (int i; i < n - 1; ++i)
{
    int min = i;
    for (int j = i + 1; j < n; ++j)
    {
        if (groupNumberArray[min] <= groupNumberArray[j]) continue;
        min = j;
    }
    if (min != i)
    {
        int temp = groupNumberArray[i];
        groupNumberArray[i] = groupNumberArray[min];
        groupNumberArray[min] = temp;
 
        Student * tempStudent = &Group[i];
        &Group[min] = &Group[i];
        &Group[i] = tempStudent;
    }
}
 
cout << "\n\n";
 
delete [] Group;
delete [] groupNumberArray;
 
system("PAUSE");
return 0;
}
Как сделать так, чтобы сортировка работала?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.