Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 22:54   #1
Mike92
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 14
По умолчанию Стандартная библиотека С++

Помогите пожалуйста с задачей: требуется посчитать сумму тех элементов последовательности, значение которых не входит в диапазон [b,c].
я написал, все работает когда значение диапазона инициализируешь в конструкторе, а вот когда диапазон меняет пользователь(через метод) значение переменных состояния(диапазона) меняется, НО когда вызываю функц объект (Sum()) там значение диапазона остается таким как указано в конструкторе.посмотрите, а то я уже не догоняю че не так
вот код мэйна и функц объекта для суммирования:
Код:
int main()
{
int kollich,b,c;
Sum obj;
cout<<"Vvedite kollich elementov: ";
cin>>kollich;
vector<int> posl(kollich);
generate(posl.begin(),posl.end(),Posled<int>(cin));
cout<<"Vvedite diapozon: ";
cin>>b;
cin>>c;
obj.setDiapoz(b,c);
obj=for_each(posl.begin(),posl.end(),Sum());
cout<<obj.getSumPosl()<<endl;
getch();
return 0;
}
// Sum.h

Код:
class Sum{
public:
Sum():sumPosl(0),diapoz1(0),diapoz2(0){}
Sum(const Sum& obj);
void operator()(int znachElem);
int getSumPosl()const {return sumPosl;}
void setDiapoz(int b,int c);

private:
int sumPosl,diapoz1,diapoz2;
};
// Sum.cpp

Код:
void Sum::operator()(int znachElem){
	if((znachElem<diapoz1)||(znachElem>diapoz2)){
		sumPosl+=znachElem;
	}
}
void Sum::setDiapoz(int b,int c){
	diapoz1=b;
	diapoz2=c;
}

Sum::Sum(const Sum& obj)
:sumPosl(obj.sumPosl)
{}

Последний раз редактировалось Mike92; 04.06.2011 в 10:27.
Mike92 вне форума Ответить с цитированием
Старый 04.06.2011, 01:46   #2
Mike92
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 14
По умолчанию

тему я наверно не правильно назвал...прост лаба на тему обобщенного программирования
Mike92 вне форума Ответить с цитированием
Старый 04.06.2011, 11:18   #3
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
прост лаба на тему обобщенного программирования
Неужели? И где же оно тут?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 04.06.2011, 11:43   #4
Mike92
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Неужели? И где же оно тут?
я не стал выкладывать шаблон порождаемого класса для заполнения вектора,т.к. там все работает.
Mike92 вне форума Ответить с цитированием
Старый 04.06.2011, 12:14   #5
Mike92
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 14
По умолчанию

сам разобрался))
Mike92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стандартная проблема - Кодировка Post в idHTTP Nub Работа с сетью в Delphi 0 26.11.2010 09:23
стандартная сортировка пузырьком. параллельное программирование. lamont61 Помощь студентам 2 11.12.2009 15:12
Стандартная схема курсоров Windows Altera Windows 3 08.12.2008 21:14
не стандартная форма С# Лубышев Помощь студентам 4 06.12.2008 10:46
Стандартная библиотека... Sota Общие вопросы C/C++ 3 17.07.2007 19:18