x2311

Untitled

Jun 7th, 2022
831
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <string>
  5.  
  6. using namespace std;
  7. #define INPUT "..\\tess.txt"
  8. #define OUTPUT "output.txt"
  9.  
  10. /**
  11.  * реалізував числа Фібоначчі. якщо сума попередніх 2 == число то вилучають його
  12.  * Перші 2 числа вилучаємо
  13.  *
  14.  * Маємо -> 1 2 3 12 4 16
  15.  * вилучаємо 1 и 2. Третій елемент 3 то вилучаємо так як перший + другий елемент == 3
  16.  *                  Шостий величаемо так як 12+ 4 == 16
  17.  *          Відповідь маємо ряд: 12 4
  18.  * @return 0
  19.  */
  20.  
  21. void write_bin_file(){
  22.     int num[8] {
  23.         1 , 123, 124, 34, 36 ,70, 78, 453
  24.     };
  25.     ofstream file;
  26.     file.open("numbers.dat", ios::binary | ios::out);
  27.     for (int i = 0; i < 8; i++) {
  28.         file.write((char *)&num[i], sizeof(int));
  29.     }
  30.     file.close();
  31. }
  32.  
  33. void read_binary_file(vector<int> &numbers, string path){
  34.     ifstream file;
  35.     file.open(path, ios::binary | ios::in);
  36.     int num;
  37.     while (!file.eof()) {
  38.         file.read((char *)&num, sizeof(int));
  39.         numbers.push_back(num);
  40.     }
  41.     file.close();
  42. }
  43.  
  44. void remove_num_fibonacci(vector<int> numbers, string path){
  45.     ofstream file(path, ios::binary);
  46.     file.write((char *)&numbers[0], sizeof(int));
  47.     file.write((char *)&numbers[1], sizeof(int));
  48.     if (numbers.size() > 2) {
  49.         for (int i = 2; i < int(numbers.size()); i++) {
  50.             if (numbers[i - 2] + numbers[i - 1] != numbers[i]) {
  51.                 file.write((char *)&numbers[i], sizeof(int));
  52.             }
  53.         }
  54.     }
  55.     file.close();
  56. }
  57.  
  58. int main() {
  59.     //write_bin_file();
  60.     vector<int> numbers;
  61.     read_binary_file(numbers, "numbers.dat");
  62.     remove_num_fibonacci(numbers, "not_fibonacci.dat");
  63.     return 0;
  64. }
  65.  
Advertisement
Add Comment
Please, Sign In to add comment