Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     int arr[5][5], i, j, k = 0, new_arr[25], num = 0, *fib, n = 0, sum = 0;
  9.  
  10.     fib = new int[n];
  11.  
  12.     for (i = 0; i < 5; i++)
  13.         for (j = 0; j < 5; j++) {
  14.             arr[i][j] = rand() % 100;
  15.             new_arr[k] = arr[i][j];
  16.             k++;
  17.         }
  18.  
  19.     //делаю одномерный массив по возрастанию для поиска чисел Фибоначчи
  20.  
  21.     for (k = 0; k < 25; k++) {
  22.         for (j = 0; j < 25 - k - 1; j++) {
  23.             if (new_arr[j] > new_arr[j + 1]) {
  24.                 int r = new_arr[j];
  25.                 new_arr[j] = new_arr[j + 1];
  26.                 new_arr[j + 1] = r;
  27.             }
  28.         }
  29.     }
  30.  
  31.     //ищу числа Фибоначчи
  32.  
  33.     for (k = 1; k < 25; k++) {
  34.         if (k == 25) {
  35.             if (new_arr[k] = (new_arr[k - 1] + new_arr[k - 2])) {
  36.                 num++;
  37.                 fib[n] = new_arr[k];
  38.                 n++;
  39.                 sum += new_arr[k];
  40.             }
  41.             break;
  42.         }
  43.         if (new_arr[k] == (new_arr[k + 1] - new_arr[k - 1])) {
  44.             num++;
  45.             fib[n] = new_arr[k];
  46.             n++;
  47.             sum += new_arr[k];
  48.         }
  49.  
  50.     }
  51.  
  52.     cout << "Original matrix: " << endl;
  53.  
  54.     for (i = 0; i < 5; i++)
  55.         for (j = 0; j < 5; j++) {
  56.             if (j == 0)
  57.                 cout << endl;
  58.             cout << " ";
  59.             cout << arr[i][j];
  60.         }
  61.  
  62.     cout << endl;
  63.  
  64.     //заменяю нужные числа
  65.  
  66.     for (i = 0; i < 5; i++)
  67.         for (j = 0; j < 5; j++) {
  68.             for (k = 0; k < n; k++)
  69.                 if (fib[k] == arr[i][j] && num != 0)
  70.                     arr[i][j] = sum;
  71.         }
  72.  
  73.  
  74.     // если нет этих чисел, то выведет
  75.     if (num == 0) {
  76.         cout << "\nFibonacci numbers not found";
  77.         return 0;
  78.     }
  79.    
  80.  
  81.     cout << "\n\nNew matrix: " << endl;
  82.  
  83.     for (i = 0; i < 5; i++)
  84.         for (j = 0; j < 5; j++) {
  85.             if (j == 0)
  86.                 cout << endl;
  87.             cout << " ";
  88.             cout << arr[i][j];
  89.         }
  90.    
  91.     return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement