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

Определить количество максимальных элементов в массиве. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти число элементов массива, которые больше своих “соседей” http://www.cyberforum.ru/cpp-beginners/thread345621.html
Найти число элементов массива, которые больше своих “соседей”, т.е. предшествующего и последующего элементов.
C++ Математически описанный алгоритм -> C++ Имеется статья с алгоритмом. В С++ я новичок потому не очень понятно, как все же описать математические термины(см.картинку) и как сделать пересечение множеств(предполагалось использование библ. boost). Кто-нибудь уже сталкивался с написанием алгоритма по научным статьям? http://narod.ru/disk/23000238001/Local%20Optimality%20and%20Its%20Application%20k-claw%20free%20gr.pdf.html http://www.cyberforum.ru/cpp-beginners/thread345593.html
C++ Как тут происходит перестановка байтов...
Вот в книге Шилдта 4-е издание... есть такой пример: #include <iostream> #include <cstdio> #include <cstring> #include <windows.h> using namespace std; union swap_byte
Проблема в стэке C++
Всем Привет! Я делал упражнение на тему стэков, вроде всё сделал, но вылетает какая-то глупая ошибка. Вот код, я думаю, можно не объяснять, что должна делать программа, но если потребуется, объясню. Заголовочный файл с классом: // файл attach.h struct customer { char fullname; double payment; }; typedef customer Item;
C++ Список, стек и очередь. http://www.cyberforum.ru/cpp-beginners/thread345534.html
Файл содержит вещественные числа. Нужно удвоит вхождение всех чисел N. Решить с помощью стека, списка и очереди в С++. Вся информация считывается и выводится в файл, из консоли ничего не считывается и не выводится. Доступ к элементам стека или очереди происходит только с помощью функции извленения элемента из стека или очереди. Помогите пожалуйста!
C++ Возведение в степень n с помощью рекурсии #include<iostream> using namespace std; int funk(int,int); int main () {setlocale(LC_ALL,"Rus"); int a=2,n=5; cout<<funk(a,n); cin.get(); cin.get(); return 0; подробнее

Показать сообщение отдельно
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
28.08.2011, 20:14     Определить количество максимальных элементов в массиве.
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
#include <algorithm>
#include <vector>
#include <iostream>
 
template<typename T> struct Comp
{
   Comp() : count(0) {}
   void operator() (const T& t) 
   {
      if (t > max || 0 == count){ max = t; count = 1; }
      else if (t==max) ++count;
   }   
   
   int count;
   T max; 
};
 
int main()
{ 
   std::vector<int> v = {-10,3,23,2,3,-34,12,23};
   Comp<int> comp = std::for_each( v.begin(), v.end(), Comp<int>() );
   if (comp.count)
   {
     std::cout << comp.max << ", count - " << comp.count << std::endl;
   }    
}
не уверен, что с производительностью будет
 
Текущее время: 07:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru