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

Вывести имена трех худших по баллу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как определить, что собеседник в данный момент печатает сообщение как в ICQ http://www.cyberforum.ru/cpp-beginners/thread161948.html
Думаю многие имеют скайп/асю. И там есть фишка если собеседник набирает сообщение про ето тебе пишет... Как ето реализовать??
C++ Ошибка в коде при выведении строки Пишу код для покера. Вот одна из его частей: #include <iostream> #include <time.h> using namespace std; class Pack { string kind_of_prise; int money_prise; http://www.cyberforum.ru/cpp-beginners/thread161936.html
Учебник по C++ полный. C++
Где взять такой учебник где все рассказывается о языке от а до я???
Где взять консольный компилятор? C++
Надоело мне эти IDE хочу попробывать по программировать в консольном компиляторе, вот только где его взять подскажите пожалуйста. Уже несколько дней ищу ни как немогу найти.
C++ Арифметика указателей http://www.cyberforum.ru/cpp-beginners/thread161916.html
есть size_t * pointer_1; logfile_f("\npointer_1 is 0x%X", pointer_1); есть size_t * pointer_2 = pointer_1 - 284; logfile_f("\npointer_2 is 0x%X", pointer_2); в итоге же: pointer_1 is 0x465B414 pointer_2 is 0x465AFA4
C++ Union что из себя представляет? Читал много книг и там про него не чего не было сказано, парни объясните мне пожалуйста для чего он? подробнее

Показать сообщение отдельно
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
27.08.2010, 17:36     Вывести имена трех худших по баллу
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
#include <iostream>
#include <set>
 
const int WORST_NUMBER = 3;
 
struct ege
{
    // ...
};
 
bool operator <( const ege& x, const ege& y )
{
    return x.o1 + x.o2 + x.o3 < y.o1 + y.o2 + y.o3;
}
 
int main( int argc, char* argv[] )
{
    ege arr[100];
 
    int n;
    // ...
 
    int count = _min( n, WORST_NUMBER);
    std::set<ege> worst;
    for( int i = 0; i < count; ++i )    
        worst.insert( arr[i] );
    
    if( count > WORST_NUMBER )
    {
        for( int i = 0; i < count; ++i )
            if( arr[i]  < *worst.rbegin() )
            {
                worst.erase( rbegin() );
                worst.insert( arr[i] );
            }
    }
 
    for( std::set<ege>::const_iterator iter = worst.begin(); iter != worst.end(); ++iter )
        std::cout << iter->name << " " << iter->surname << std::endl;
 
    return 0;
}
Что-то типа этого. Дополни вводом и своей структурой.
Так же, не советую держать среднее значени и каждый бал в отдельности, т.к. это дублирование данных. Если хочешь, напиши фукнцию, к-рая выводит средний балл.

Называй переменные более понятными названиями.
worst1, worst2, worst3, например.
Инклуды хедеров, к-рые относятся к библиотекам (iostream, windows.h), и не находятся в директории проекта, неплохо бы заключать в угловые скобки ( '<', '>' ) вместо кавычек.
 
Текущее время: 12:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru