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

В одномерном массиве посчитать сумму элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Зашифровать текст и дешифровать, заменив каждую букву порядковым номером в алфавите http://www.cyberforum.ru/cpp-beginners/thread1218942.html
Пацаны помогите решить эту программу пожалуйста. Зашифровать текст и дешифровать, заменив каждую букву порядковым номером в алфавите
C++ В одномерном массиве посчитать сумму эллементов после минимального Помогите срочно решить задачу на экзамене сижу!!! В одномерном массиве посчитать сумму эллементов после минимального http://www.cyberforum.ru/cpp-beginners/thread1218936.html
C++ Утечка памяти
Здравствуйте. Есть программа (разбитая на функции) постоянно работающая в цикле и выводящая информацию на консоль. И получается что она жрёт память. за сутки в диспетчере занимаемый объём памяти становится около 30MB. есть 3 варианта утечки: - Не очищаю консоль/буфер консоли. - Динамическая память. Но вроде освобождаю правильно. - streambuf/stringstream в подпрограммах. Стараюсь использовать...
C++ Текст в файле, проверить длину строки
Помогите пожалуйста решить. Текст в файле: имя пользователя. Проверить ,чтобы длина строки ббыла не меньше двух символов.
C++ Вывести номера столбцов матрицы, содержащих только отрицательные элементы (Pascal -> C++) http://www.cyberforum.ru/cpp-beginners/thread1218924.html
Дана вещественная матрица размерности (n x m). Вывести номера столбцов, содержащих только отрицательные элементы. написано в раскале, а с переводом в с++ возникла трудность Uses crt; const Nmax = 10; //максим. размер матрицы type Matrix = array of real; //объявление типа var Mas: Matrix; //объявление массива i, j, n, m, index, count: integer;//объявление целых переменных begin
C++ Проверить, чтобы длина строки файла была не меньше двух символов Помогите пожалуйста решить. Текст в файле: имя пользователя. Проверить ,чтобы длина строки ббыла не меньше двух символов. подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт CЭксперт С++
12702 / 7176 / 801
Регистрация: 27.09.2012
Сообщений: 17,701
Записей в блоге: 2
Завершенные тесты: 1
28.06.2014, 17:32     В одномерном массиве посчитать сумму элементов
Вылосыпэд:
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
#include <iostream>
#include <vector>
#include <numeric>
#include <functional>
 
template < typename operation1 , typename operation2 , typename operation3 >
class compose_f_gx_hx_t :
                       public std::unary_function<typename operation1::argument_type,typename operation3::result_type> {
public:
   compose_f_gx_hx_t ( const operation1 & op1_ , const operation2 & op2_ , const operation3 & op3_ ) : op1(op1_),op2(op2_), op3(op3_){
   }
   typename operation3::result_type operator()(const typename operation1::argument_type & x ) const {
      return op3 ( op1(x) , op2(x) ) ;
   }
private:
   operation1 op1 ;
   operation2 op2 ;
   operation3 op3 ;
} ;
 
template < typename operation1 , typename operation2 , typename operation3 >
compose_f_gx_hx_t < operation1 , operation2 , operation3 > compose_f_gx_hx ( const operation1 & op1 , const operation2 & op2 , const operation3 & op3 )
{
   return compose_f_gx_hx_t < operation1 , operation2 , operation3 > ( op1 , op2 , op3 ) ;
}
 
 
template < typename operation1 , typename T >
class compose_plus_t :
                    std::binary_function <T,T,T> {
public:
   compose_plus_t ( const operation1 & op ) : comp(op) {
   }
   T operator() (const T& x, const T& y) const {
      return x + ( comp(y) ? y : T() );
   }
private:
   operation1 comp ;
};
 
template < typename OP1 >
compose_plus_t < OP1 , typename OP1::argument_type > compose_plus ( const OP1 & op )
{
   return compose_plus_t < OP1 , typename OP1::argument_type > ( op ) ;
}
 
 
int main() {
   std::vector<int> vec = {3 , 4 , 7 , 8 , 9 , 0 };
   int f = 0 , s = 0 ;
   std::cout << "\nInput interval (min,max);" << std::endl ;
   std::cin >> f >> s ;
   std::cout << "\nResult:" << 
                              std::accumulate( 
                                              vec.begin() , 
                                              vec.end() , 
                                              0 , 
                                              compose_plus(
                                                           compose_f_gx_hx ( 
                                                                            std::bind2nd(std::greater<int>(), f) , 
                                                                            std::bind2nd(std::less<int>(),s) , 
                                                                            std::logical_and<bool>() 
                                                                           )
                                                          ) 
                                              ) 
                           << std::endl ;
}
 
Текущее время: 07:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru