Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int fib(int n) {
- if (n < 2)
- return n;
- else
- return fib(n - 1) + fib(n - 2);
- }
- void outputk(fstream &f, int k)
- {
- int t;
- cout << "Number ending " << k << ": ";
- while (f.peek() != EOF)
- {
- f.read((char*)&t, sizeof(t));
- if (t % 10 == k)
- cout << t << ' ';
- }
- cout << endl;
- }
- void outputm(fstream &f, int m)
- {
- int t;
- f.seekg(0, ios::beg);
- f.read((char*)&t, sizeof(t));
- cout << "First number: " << t << endl;
- f.seekg(sizeof(int)*(m - 1), ios::beg);
- f.read((char*)&t, sizeof(t));
- cout << "Number # " << m << ": " << t << endl;
- f.seekg(sizeof(int)*(-1), ios::end);
- f.read((char*)&t, sizeof(t));
- cout << "Last number: " << t << endl;
- }
- int main()
- {
- int n, k, m, t;
- cin >> n >> k >> m;
- //Создадим или очистим файл
- ofstream fout("a.dat");
- fout.close();
- fstream f("a.dat", ios::in | ios::out | ios::binary); //Открыли файл
- for (int i = 1; i <= n; i++)
- {
- //Генерируем и записываем числа фибаначи
- t = fib(i);
- f.write((char*)&t, sizeof(int));
- }
- for (int i = 0; i < n; i++)
- {
- //Генерируем и записываем числа фибаначи
- f.seekg(i * sizeof(int), ios::beg);
- f.read((char*)&t, sizeof(int));
- cout << t << endl;
- }
- outputk(f, k);
- outputm(f, m);
- f.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement