Форум программистов, компьютерный форум, киберфорум
Наши страницы

Разработать С + +-программу с использованием файлов (Фибоначчи) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ iconv http://www.cyberforum.ru/cpp-beginners/thread730430.html
Есть такая библиотека как iconv для преобразования кодировок http://www.cyberforum.ru/blogs/131347/blog533.html Стоит задача написать простенькую обвертку для преобразования utf8 в win1251 в...
C++ Проверка многоугольника на выпуклость Здравствуйте. Не заходит вырезано задача. Не могу понять, почему. Проверял на схожесть знаков ориентированные площади треугольников из точек. Код: #include <iostream> #include <vector>... http://www.cyberforum.ru/cpp-beginners/thread730427.html
C++ Перевод из 2-ой в 8-ую СС
Необходимо реализовать перевод чисел из двоичной в восьмеричную систему счисления.
Матрица (Найти вектор B(l), каждый элемент которого равен среднему арифметическому элементов...) C++
Задана матрица A(k,l). Найти вектор B(l), каждый элемент которого равен среднему арифметическому элементов соответствующего столбца матрицы А. Похожие темы...
C++ Составить процедуру, выполняющую сжатие массива удалением элементов, значение которых меньше заданного числа http://www.cyberforum.ru/cpp-beginners/thread730391.html
Составить процедуру, выполняющую сжатие массива удалением элементов, значение которых меньше заданного числа. Вывести на экран максимальное значение среди удалённых элементов. Решите пожалуйста,...
C++ Прочитать одной строкой с файла собственно в этом и вопрос, как считать целой строкой #include <iostream> #include <iomanip> #include <sstream> #include <string> #include <fstream> using namespace std; ... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
13.12.2012, 19: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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <cstddef>
#include <type_traits>
#include <iostream>
#include <fstream>
#include <utility>
 
#include <boost/iterator/counting_iterator.hpp>
 
 
template<typename Integral = std::size_t>
struct fibonacci {
   
   constexpr operator Integral() noexcept {
      return current;
   }
   
   fibonacci & operator ++() noexcept {
      Integral old = current;
      current += previous;
      previous = old;
      return *this;
   }
   
   fibonacci operator ++(int) noexcept {
      fibonacci copy(*this);
      ++(*this);
      return copy;
   }
      
   constexpr fibonacci() noexcept
         : current(1), previous(0) {}
         
   template<
         typename OtherIntegral
       , typename = typename std::enable_if<
               std::is_convertible<OtherIntegral, Integral>::value
         >::type
   >
   constexpr fibonacci(fibonacci<OtherIntegral> const& rhs) noexcept
         : current(rhs.current), previous(rhs.previous) {}
         
   template<
         typename OtherIntegral
       , typename = typename std::enable_if<
               std::is_convertible<OtherIntegral, Integral>::value
         >::type
   >
   fibonacci & operator =(fibonacci<OtherIntegral> const& other) noexcept {
      current  = other.current;
      previous = other.previous;
      return *this;
   }
   
   
private:
   Integral current;
   Integral previous;
};
 
 
template<typename Integral = std::size_t>
using fibonacci_iterator = boost::counting_iterator<
      fibonacci<Integral>
    , boost::forward_traversal_tag
    , std::ptrdiff_t
>;
 
 
std::ostream & write_fibonacci(std::ostream & ostream, std::size_t k) {
   for (fibonacci_iterator<> it; k != 0; --k, ++it) {
      ostream << *it << ' ';
   }
   ostream << std::endl;
   return ostream;
}
 
template<typename Char, typename CharTraits>
std::basic_ostream<Char, CharTraits> &&
write_fibonacci(std::basic_ostream<Char, CharTraits> && ostream, std::size_t k) {
   write_fibonacci(ostream, k);
   return std::move(ostream);
}
 
 
int main() {   
   auto constexpr filename = "LR_4_1.txt";
   
   std::size_t k;
   std::cout << "k? ";
   std::cin >> k;
   
   write_fibonacci(std::cout, k);
   write_fibonacci(std::ofstream(filename), k);
   
   std::ifstream ifs(filename);
   for (std::size_t number, i = 1; ifs >> number; ++i) {
      std::cout << "F(" << i << ") = " << number << std::endl;
   }
}
http://liveworkspace.org/code/wswkX
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru