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

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


reshenie_zadachi_14

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

reshenie_zadachi_14 [2011/02/21 08:01] (текущий)
Строка 1: Строка 1:
 +====== Задача 14 ======
 +**Задача 14:** При помощи функтора заполнить вектор числами Фибоначчи. (Число Фибоначчи равно сумме двух последних цифр.)
 +<​file>​
 +#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;
 +}
 +
 +</​file>​
загрузка...
reshenie_zadachi_14.txt · Последние изменения: 2011/02/21 08:01 (внешнее изменение)