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

Поиск медианы в отображении - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ E2293 ) expected http://www.cyberforum.ru/cpp-beginners/thread171442.html
У меня приблизительно такой код: class Line { static const int SIZE_LINE=5; vector< cell* > line; public: Line(char num_of_line, Field& field): line(vector< cell* >...
C++ Корректность написания функции cout Здравствуйте! Я извиняюсь за такую изъезженную тему, но я тут нашла простенькую программку по нахождению кратчайшего пути в графе, вроде разобралась в ней, но при запуске, выдаёт ошибку в написании... http://www.cyberforum.ru/cpp-beginners/thread171437.html
Даны натуральные числа n и a(1), a(2), ... a(n) .. Найти максимальное простое число C++
Даны натуральные числа n и a(1), a(2), ... a(n) .. Найти максимальное простое число. Я понимаю- что моя просьба банальна, но всё же- может быть ктонибудь откликнется на неё и поможет в написании...
работа с числами C++
Помогите пожалуйста написать программу: Написать программу, которая для числа n, введённого с клавиатуры 1. Выводит все числа от 1 до n, делящиеся на каждую свою цифру. Пример: 24...
C++ Определить у какой из фигур площадь больше http://www.cyberforum.ru/cpp-beginners/thread171373.html
Приветствую всех!!! На 4 курсе института начали преподовать программирование на языке С++ и сразу возникли вопросы. Задача №1: Определить у какой из 3-х фигур площадь больше: ромб с диагоналями d1...
C++ Различные варианты инициализации указателя - в чём точная разница между ними? Немного непонятен один момент. Есть некий класс Statement (конструктор используется по умолчанию). Вот четыре различных записи инициализации указателя на экземпляр: Statement *stmt(new Statement);... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7985 / 4744 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3

Поиск медианы в отображении - C++

02.10.2010, 03:12. Просмотров 798. Ответов 6
Метки (Все метки)

У Страуструпа такое задание. Решил сделать. Получилось каким-то кустарным методом, но работает. Проще возможно?
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
    
//
if(Map.size()!=0&&Map.size()%2!=0)
    {
        for (SIMap::iterator It=Map.begin(); It!=Map.end(); ++It)
        {
            int great=0;
            int less=0;
            int equal=0;
            for(SIMap::iterator Iter=Map.begin(); Iter!=Map.end(); ++Iter)
            {
                if(Iter->second==It->second)
                {
                    ++equal;
                    continue;
                }
                if(Iter->second<It->second)
                    less++;
                else if(Iter->second>It->second)
                    great++;
            }
            if(less==great)
                med=It->second;
            else if(equal>1)
            {
                std::cerr<<"Can`t be 2 or more equal elements\n";
                return 0;
            }
        }
    }
    else
    {
        std::cout<<"There is no median\n";
        return 0;
    }
    std::cout<<"Median is: "<< med <<'\n';
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.