Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- using namespace std;
- //Характеристикой строки прямоугольной матрицы называется сумма ее
- //положительных элементов.Перестроить заданную матрицу, переставляя в ней
- //строки так, чтобы значения их характеристик возрастали.
- //- вывести полученную матрицу;
- //-найти в ней количество столбцов, не содержащих нулей.
- int sum(int* a, int m);
- void output(int** a, int n, int m);
- bool find0(int** a, int n, int m);
- int main()
- {
- srand((unsigned)time(NULL));
- int n, m;
- cout << "Enter bumber of lines = ";
- cin >> n;
- cout << "Enter number of rows = ";
- cin >> m;
- cout << endl;
- if (n > 20 || m > 20 || m < 1 || n < 1)
- {
- return 1;
- }
- int** a = new int* [n];
- for (int i = 0; i < n; i++)
- {
- a[i] = new int[m];
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- a[i][j] = (rand() % 11 - 5);
- }
- }
- output(a, n, m);
- cout << endl;
- for (int i = 0; i < n - 1; i++)
- {
- int maxSum = sum(a[i], m);
- int maxPos = i;
- for (int ii = i + 1; ii < n; ii++)
- {
- int s = sum(a[ii], m);
- if (s > maxSum)
- {
- maxSum = s;
- maxPos = ii;
- }
- }
- int* t = a[i];
- a[i] = a[maxPos];
- a[maxPos] = t;
- }
- output(a, n, m);
- int count = 0;
- for (int j = 0; j < m; j++)
- {
- if (!find0(a, n, j))
- count++;
- }
- cout << endl << endl << "Number of rows without ""0"" = " << count;
- for (int i = 0; i < n; i++)
- {
- delete[] a[i];
- }
- delete[] a;
- }
- int sum(int* a, int n)
- {
- int result = 0;
- for (int i = 0; i < n; i++)
- {
- result += a[i];
- }
- return result;
- }
- void output(int** a, int n, int m)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- cout << a[i][j] << " ";
- }
- cout << " " << sum(a[i], m) << endl;
- }
- }
- bool find0(int** a, int n, int j)
- {
- for (int i = 0; i < n; i++)
- {
- if (a[i][j] == 0)
- {
- return true;
- }
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement