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

Структуры - C++

Восстановить пароль Регистрация
 
DanilAREFY
19 / 19 / 2
Регистрация: 12.04.2011
Сообщений: 35
12.05.2011, 00:44     Структуры #1
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
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <ctime>
#include <iomanip>
#include <time.h>
 
using namespace std;
 
int main()
{
    const int N = 3, M = 30;
    int L = 1;
    float sum = 0, sum2 = 0;
    setlocale (LC_ALL,"");
    struct STUDENT
    {
        char name[M];
        int group;
        int uspev;
    }; STUDENT A[N];
    for (int i = 0; i < N; i++)
    {
        cout << "Введите фамилию:" << endl;
        cin >> A[i].name;
        cout << endl;
        cout << "Введите номер группы:" << endl;
        cin >> A[i].group;
        cout << endl;
        cout << "Введите успеваемость:" << endl;
        sum = 0;
        for (int j = 0; j < L; j++)
        {
            cin >> A[i].uspev;
        }
        cout << endl;
    }
    cout << endl;
    for (int i = 0; i < N-1; i++)
    {
        int imin = i;
        for (int j = i+1; j < N; j++)
        {
            if (A[j].uspev < A[i].uspev)
            {
                imin = j;
                int buf = A[i].uspev;
                int buf1 = A[i].group;
                char s[M] = A[i].name;
                A[i].uspev = A[imin].uspev;
                A[i].group = A[imin].group;
//              A[i].name = A[imin].name;
                A[imin].uspev = buf;
                A[imin].group = buf1;
    //          A[imin].name = buf2;
            }
        }
    }
    cout << endl;
    for (int i = 0; i < N; i++)
    {
        cout << A[i].name << " ";
        cout << A[i].group << " ";
        for (int j = 0; j < L; j++)
        {
        cout << A[i].uspev << " ";
        }
        cout << endl;
    }
    _getch();
    return 0;
}
подскажите пожалуйста как можно вместе с номером группы, успеваемостью, сортировать одновременно и фамилию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 00:44     Структуры
Посмотрите здесь:

Структуры. Работа с файлами, содержащими структуры C++
C++ Динамические структуры данных. Программа ввода в структуры и вывода информации из неё.
Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? C++
Структуры. Вызов данных структуры по указателю. с++ C++
Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) C++
C++ Оператор if и структуры. Возвращение структуры из функции
Функция внутри структуры использует указатель, как поле этой структуры C++
Вывод структуры, строка как элемент структуры C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Qiker
 Аватар для Qiker
7 / 7 / 0
Регистрация: 08.04.2010
Сообщений: 56
12.05.2011, 09:32     Структуры #2
C
1
2
3
4
5
6
 struct 
        {
                char name[M];
                int group;
                int uspev;
        } STUDENT A[N],g;
здесь добавь g
а сортировку сделай так(можно и по другому):
C
1
2
3
4
5
6
7
8
9
for (int k=0; k<n-1; k++)
    for (i=0; i<n-k-1; i++)
    if ([i+1].un.nemer>anketa[i].un.nemer)/*здесь свое указывай*/
                { 
                    /*здесь свою структуру поставь*/
                                        g=anketa[i];
                    anketa[i]=anketa[i+1];
                    anketa[i+1]=g;          
                }
В этом случае сортируются все элементы структуры
Yandex
Объявления
12.05.2011, 09:32     Структуры
Ответ Создать тему
Опции темы

Текущее время: 10:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru