Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- int main()
- {
- int arr[5][5], i, j, k = 0, new_arr[25], num = 0, *fib, n = 0, sum = 0;
- fib = new int[n];
- for (i = 0; i < 5; i++)
- for (j = 0; j < 5; j++) {
- arr[i][j] = rand() % 100;
- new_arr[k] = arr[i][j];
- k++;
- }
- //делаю одномерный массив по возрастанию для поиска чисел Фибоначчи
- for (k = 0; k < 25; k++) {
- for (j = 0; j < 25 - k - 1; j++) {
- if (new_arr[j] > new_arr[j + 1]) {
- int r = new_arr[j];
- new_arr[j] = new_arr[j + 1];
- new_arr[j + 1] = r;
- }
- }
- }
- //ищу числа Фибоначчи
- for (k = 1; k < 25; k++) {
- if (k == 25) {
- if (new_arr[k] = (new_arr[k - 1] + new_arr[k - 2])) {
- num++;
- fib[n] = new_arr[k];
- n++;
- sum += new_arr[k];
- }
- break;
- }
- if (new_arr[k] == (new_arr[k + 1] - new_arr[k - 1])) {
- num++;
- fib[n] = new_arr[k];
- n++;
- sum += new_arr[k];
- }
- }
- cout << "Original matrix: " << endl;
- for (i = 0; i < 5; i++)
- for (j = 0; j < 5; j++) {
- if (j == 0)
- cout << endl;
- cout << " ";
- cout << arr[i][j];
- }
- cout << endl;
- //заменяю нужные числа
- for (i = 0; i < 5; i++)
- for (j = 0; j < 5; j++) {
- for (k = 0; k < n; k++)
- if (fib[k] == arr[i][j] && num != 0)
- arr[i][j] = sum;
- }
- // если нет этих чисел, то выведет
- if (num == 0) {
- cout << "\nFibonacci numbers not found";
- return 0;
- }
- cout << "\n\nNew matrix: " << endl;
- for (i = 0; i < 5; i++)
- for (j = 0; j < 5; j++) {
- if (j == 0)
- cout << endl;
- cout << " ";
- cout << arr[i][j];
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement