Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //определить количество строк не содержащих ни одного нулевого элемента;
- //максимальное из чисел встречающихся более одного раза;
- #include <iostream>
- #include <conio.h>
- using namespace std;
- //функция для определения количества строк без нулевых элементов
- void find_zeros(int &x, int &y, int **array_1)
- {
- //находим нули в строках
- int counter_zeros = 0;
- int counter_lines = 0;
- for (int i = 0; i < x; i++)
- {
- for (int j = 0; j < y; j++)
- {
- if (!array_1[i][j]) //если mass[i][j] == 0, мы выполняем условие
- {
- counter_zeros++;
- }
- }
- if (!counter_zeros) //если counter_zeros == 0, мы выполняем условие
- {
- counter_lines++;
- }
- counter_zeros = 0;
- }
- cout << "Lines without zeros: " << counter_lines;
- cout << endl;
- }
- //функция для определения максимального из чисел, встречающихся более одного раза
- void max_number(int &x, int &y, int **array_1)
- {
- //переводим массив в одномерный
- int *one_mass = new int[x*y];
- int k = 0;
- for (int i = 0; i < x; i++)
- {
- for (int j = 0; j < y; j++)
- {
- one_mass[k] = array_1[i][j];
- k++;
- }
- }
- //сортируем одномерный массив
- int buff = 0;
- for (int i = 0; i < x*y; i++)
- {
- for (int j = i + 1; j < x*y; j++)
- {
- if (one_mass[i] > one_mass[j])
- {
- swap(one_mass[i], one_mass[j]);
- }
- }
- }
- //находим максимальное число встреч. более одного раза
- bool f = true;
- int max_number = 0;
- for (int i = x*y; i > 0; i--)
- {
- if (one_mass[i] == one_mass[i-1] && f == true)
- {
- max_number = one_mass[i];
- f = false;
- }
- }
- //переводим одномерный массив в двумерный
- k = 0;
- for (int i = 0; i < x; i++)
- {
- for (int j = 0; j < y; j++)
- {
- array_1[i][j] = one_mass[k];
- k++;
- }
- }
- //тащемта результаты, например
- cout << endl;
- cout << "Sorted array" << endl;
- for (int i = 0; i < x; i++)
- {
- for (int j = 0; j < y; j++)
- {
- cout << array_1[i][j] << " ";
- }
- cout << endl;
- }
- cout << "Max number: " << max_number;
- }
- int main ()
- {
- int n, m;
- cout << "Insert number of lines: ";
- cin >> n;
- cout << "Insert number of rows: ";
- cin >> m;
- //создаём указатель на указатели
- int **mass = new int* [n];
- for (int i = 0; i < n; i++)
- {
- mass[i] = new int [m];
- }
- //заполняем массив рендомными числами
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- mass[i][j] = rand()%10;
- }
- }
- //выводим массив
- cout << endl;
- cout << "Unsorted array" << endl;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- cout << mass[i][j] << " ";
- }
- cout << endl;
- }
- find_zeros(n, m, mass);
- max_number(n, m, mass);
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement