Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Грабовецкий Артём,Вариант-23.
- Дана целочисленная матрица {Aij}i=1...n;j=1..n , n<=100.
- Если среди диагональных элементов матрицы есть не менее двух, содержащих цифру 5 и не содержащих цифру 3, заменить наибольшие элементы строк на произведения элементов этих строк.
- Использовать процедуры и функции!
- */
- #include <iostream>
- #include <limits.h>
- using namespace std;
- bool cheking53(int num)
- {
- int b, five = 0;
- b = num;
- while (b > 0)
- {
- if (b % 10 == 5)
- five++;
- if (b % 10 == 3)
- return false;
- b /= 10;
- }
- if (five > 0)
- return true;
- else
- return false;
- }
- int main()
- {
- int n, k = 0, proiz = 1, l;
- int a[100][100];
- int p[100];
- int m, str, stl;
- int proizv = 1;
- cin >> n;
- if (n <= 0)
- cout << "Empty matrix or range check error" << endl;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- cin >> a[i][j];
- proizv = proizv * a[i][j];
- }
- p[i] = proizv;
- proizv = 1;
- }
- for (int i = 0; i < n; i++)
- {
- if (cheking53(a[i][i]))
- k++;
- }
- if (k >= 2)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- int max = INT_MIN;
- if (a[i][i] > max)
- {
- max = a[i][j];
- str = i;
- stl = j;
- }
- }
- a[str][stl] = p[i];
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- cout << a[i][j] << " ";
- cout << endl;
- }
- cout << "Michael you are the best" << endl;
- return 0;
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- cout << a[i][j] << " ";
- cout << endl;
- }
- cout << "Michael you are the best" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement