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

стек в STL - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. http://www.cyberforum.ru/cpp-beginners/thread301604.html
Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: получения и изменения полей данных, вычисления площади, вычисление периметра, вычисление высот, а также определения вида треугольника (равносторонний, равнобедренный или прямоугольный). необходимо реализовать в том или ином виде определение нового класса
C++ организовать цикл дано слово ch="sdf" Как сделать, чтобы ch просматривался целым словом, а не посимвольно. for(i=0;i<=3;i++){ if (!strcmp(ch,argv))) {cout<<"0";} } http://www.cyberforum.ru/cpp-beginners/thread301602.html
Как создавать dll? C++
как создавать dll по типу //инклуды #ifdef __cplusplus extern "C" { #endif // константы
Диф уравнения второго порядка C++
Всем доброго здоровья. проблема в том что не могу освоить численное решение диф. уравнений второго порядка, из за того что не знаю численные методы решения систем уравнений, решение протых уравнений освоил на отлично. В общем кто может поделитесь пожалуйста примерчиком, или хотя бы примерчиком решения систем уравнения методом(Зейделя или Гаусса), а привести к системе я уже смогу сам. Заранее...
C++ Функции C++ turbo http://www.cyberforum.ru/cpp-beginners/thread301575.html
Даны 2 одномерных массива,в каждом массиве надо найти количество элементов,кратных 5. Подскажите пожалуйста функцию нахождения кол-ва элементов,кратных 5. Треугольник задан координатами вершин. Найти периметр треугольника. Описать функцию нахождения расстояния между двумя точками. Добавлено через 49 секунд Заранее благодарен...
C++ Массив,строки,символы. Помогите пожалуйста решить 3 задачки на C++ турбо,пожалуйста,очень надо,скоро экзамен. 1. Дана строка символов. Если первый и последний символы строки равны, то последний символ удалить. 2. Даны сведения об авто: фамилия владельца, марка, цвет, год выпуска: 1) Найти фамилии владельцев, у которых белые «Жигули». 2) Найти самый старый автомобиль. 3) Найти марки машин, выпущенных после 2000... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
23.05.2011, 05:46     стек в STL
nick07x, объявляем функцию, которая принимает копию шаблонного стека в качестве параметра, начальное значение-аккумулятор и функциональный объект - бинарную операцию, которая будет применяться к аккумулятору и последовательным элементам стека для накопления промежуточных результатов.
Потом объявляем функцию, которая будет вызывать первую функцию с операцией умножения в качестве функционального объекта.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template <class T, class binop>
T product(std::stack<T> stack,  // Копия стека
      T accum,      // Аккумулятор
      binop op)     // Бинарная операция
{
    while(!stack.empty())   // Пока стек не пуст
    {
    accum = op(stack.top(), accum); // Вычисляем промежуточный результат
    stack.pop();            // Удаляем элемент из стека
    }
 
    return accum;       // Возвращаем аккумулятор
}
 
template <class T>
T product(std::stack<T> stack, T accum)
{
    // Вызываем product(std::stack<T>, T, binop) с std::multiplies<int>()
    // в качестве функционального объекта
    return product(stack, accum, std::multiplies<int>());
}
 
Текущее время: 15:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru