Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

reshenie_zadachi_14

Задача 14

Задача 14: При помощи функтора заполнить вектор числами Фибоначчи. (Число Фибоначчи равно сумме двух последних цифр.)

#include <algorithm>
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;

/*
	При помощи функтора заполнить вектор числами Фибоначчи.
*/

class addFib
{
    int number1;
	int number2;
public:
	addFib(int number1, int number2){
		this->number1=number1;
		this->number2=number2;
		}

	int operator()()
	{ int n3;
	n3=number1 + number2;
	number1=number2;
	number2=n3;

	return n3;
	}
};


int main()
{
    vector <int> v1(20,1);
	vector<int>::iterator c1_Iter;

	cout<<"\n";
	//алгоритм generate_n вызывает функтор в объекте addFib
	generate_n(v1.begin()+2, v1.size()-2, addFib(1,1));
	cout<<"\n";
  c1_Iter = v1.begin();
  for(; c1_Iter != v1.end(); c1_Iter++){
	  cout << " " << *c1_Iter;
  }
	cout<<"\n";
	return 0;
}



reshenie_zadachi_14.txt · Последние изменения: 2011/02/21 13:01 (внешнее изменение)