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

Сортировка записи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить соответствующие значения last и nlast для целочисленных массивов x[20] и y[30] http://www.cyberforum.ru/cpp-beginners/thread837564.html
Для целочисленного массива "а", содержащего n элементов, описать программу, определяющую last-значение последнего из элементов массива "а", значение которого принадлежит диапазону (-k; k), и nlast - индекс этого элемента . Вычислить соответствующие значения last и nlast для целочисленных массивов x и y
C++ Лексический сканер Лексический сканер должен учитывать области видимости и кодировать их по-разному. Содержание задания: Разработать программу лексического сканирования и анализа для заданных языка программирования и типов лексем. Программа должна построить заданные таблицы и на их основе преобразовать анализируемую программу, заменив искомые лексемы на мнемонические имена. Мнемонические имена должны... http://www.cyberforum.ru/cpp-beginners/thread837558.html
Вычисление корней квадратного уравнения C++
Напишите пожалуйста подпрограмму для обчисления корней квадратного уравнения. Если можно с комментариями.
C++ Время распределенной генерации массива кодов квадратичных вычетов
Помогите разобраться в задании. Разработать приложение для исследование времени распределенной генерации массива кодов квадратичных вычетов. По данной тематике предполагается, что генерация кодов квадратичных вычетов происходит на разных компьютерах. Функциональное назначение компьютеров в комплексе предполагается следующим. Первый компьютер генерирует массив простых чисел и определяет,...
C++ Поясните последнюю строку http://www.cyberforum.ru/cpp-beginners/thread837521.html
EZFONT по Петзолдту. HFONT EasyFontCreate (HDC Context , std::string FontName , double Height , double ...
C++ Не корректно работает программа с класами Привет Всем. У меня есть к Вам просьба. Я вот написал программу,но в ней редактирование и удаление данных из базы данных работает не качественно, то есть есть какой то баг. Помогите пожалуйста исправить его. Вот программа. class CashBox { private: static int count; int number; enum {max=15}; char Name; подробнее

Показать сообщение отдельно
cybernate
3 / 3 / 0
Регистрация: 10.03.2013
Сообщений: 45

Сортировка записи - C++

14.04.2013, 16:45. Просмотров 317. Ответов 9
Метки (Все метки)

Дана задача: создать запись с полями и три оценки. Найти качественный показатель успеваемости. Отсортировать запись по убыванию среднего бала.

как создать эту сортировку?

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
73
74
75
76
#include<iostream>
#include<string>
#include <iomanip>
 
using namespace std;
 
int main()
{
 
    struct journal
    {
        string surname;
        double mark1;
        double mark2;
        double mark3;
        double midle;       
    };
 
    int n;
    cout<<"Enter n: ";
    cin>>n;
    journal *people = new journal[n];               //journal people[n];
    cin.ignore();
    for(int i =0; i<n; i++)
        {
            cout<<"\nEnter surname the "<<i+1<<" student: ";
            getline(cin, people[i].surname);
            cout<<"\nEnter the first mark of third: "; cin>>people[i].mark1;
            cout<<"\nEnter the second mark of third: "; cin>>people[i].mark2;
            cout<<"\nEnter the third mark of third: "; cin>>people[i].mark3;
            people[i].midle = (people[i].mark1+people[i].mark2+people[i].mark3)/3;
            cin.ignore();
    }
    cout<<"\n______________________________________________\n";
    for(int i =0; i<n; i++)
    {   cout<<"\n"<<people[i].surname;
        cout<<"\n"<<people[i].mark1;
        cout<<"\n"<<people[i].mark2;
        cout<<"\n"<<people[i].mark3;
        cout<<"\nMidle mark is: "<<people[i].midle;
        cout<<"\n";
    }
    cout<<"\n______________________________________________\n";
 
 
    //////////////////////////////////////////////////////////  Показатель успеваемости
    int count1 = 0;
    int count2 = 0;
    for(int i=0; i<n; i++)
    {
        if (people[i].mark1 ==4)
            count1++;
        if (people[i].mark1 ==5)
            count2++;
        if (people[i].mark2 ==4)
            count1++;
        if (people[i].mark2 ==5)
            count2++;
        if (people[i].mark3 ==4)
            count1++;
        if (people[i].mark3 ==5)
            count2++;
    }
 
 
    cout<<"Vseh 4: "<< count1;
    cout<<"\nVseh 5: "<< count2;
    cout<<"\nPokazatel :"<< (((count1 + count2)*100)/n)/3<<"%\n\n"; 
 
 
 
 
 
    system("pause");
    return 0;
}
Добавлено через 26 минут
Моя сортировка, но она не правильно работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int t=0;
    for(int i = 0; i<n; i++)
    {
        if(people[i].midle<people[i+1].midle)
            {people[i].midle = t;
        people[i].midle=people[i+1].midle;
            people[i+1].midle=t;
        }
    }
 
    for(int i = 0; i<n; i++)
    {
        cout<<people[i].midle<<" ";
    }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru