Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Программа:
- #include<iostream>
- #include<conio.h>
- using namespace std; //подключение стандартного пространства имен
- void GetNewMemory(int**&arr, int length, int width)
- {
- arr = new int*[length]; //выделяем память под каждую строку
- for (int i(0); i < length; i++)
- {
- arr[i] = new int[width]; //для каждой строки выделяем память под столбцы
- }
- }
- void DeleteMemory(int**arr, int length)
- {
- for (int i(0); i < length; i++)
- {
- delete[]arr[i]; //удаление памяти
- }
- delete[]arr; //удаление памяти
- }
- void InputArray(int**arr, int length, int width)
- {
- for (int i(0);i<length;i++)
- {
- for (int j(0); j < width; j++)
- {
- cout « "Input Array[" « i « "][" « j « "]= ";
- cin » arr[i][j];
- }
- }
- }
- void otput(int**arr, int length, int width) //функция вывода массива
- {
- for (int i(0); i < length; i++)
- {
- for (int j(0); j < width; j++)
- {
- cout « arr[i][j] « '\t';
- } cout « endl;
- }
- }
- bool isgrowig(int**arr, int length, int width) //считаем матрицу на возрастание нулей
- {
- int k = 0; //проверяемый столбец
- int r; //предыдущий столбец
- for (int j(0); j < width; j++)
- {
- for (int i(0); i < length; i++)
- {
- if (arr[i][j] == 0) //считаем количество элементов равных нулю
- k++;
- }
- if (j == 0) //условие, если мы находимся на 1 столбце, то r=k
- r = k;
- else
- {
- if (k < r)
- {
- return false;
- }
- else
- {
- r = k;
- }
- }
- k = 0;
- }
- return true;
- }
- int main(int argc, char**argv)
- {
- int **Array=NULL;
- int length, width; //объявление количества столбцов и строк
- cout « "Input length and width of array: "; //выводим длину и ширину массива
- cin » length » width; //ввод с клавиатуры строк и столбцов
- system("cls"); //отчищает экран
- GetNewMemory(Array, length, width); //освобождение памяти
- InputArray(Array, length, width); //функция ввода массива
- system("cls");
- otput(Array, length, width); //функция вывода массива
- if(isgrowig(Array, length, width)==true)
- {
- int k = 0;
- for (int j(0); j < width; j++)
- {
- for (int i(0); i < length; i++)
- {
- if (Array[i][j] == 0)
- k++;
- }
- }
- cout « "Number of null-ellements is: " « k; //вывод числа нулевых элементов
- }else
- {
- int column;
- int k = 0;
- int r;
- for (int j(0); j < width; j++)
- {
- for (int i(0); i < length; i++)
- {
- if (Array[i][j] == 0) //считаем сколько нулей в текущем столбце
- k++;
- }
- if (j == 0)
- {
- column = 0;
- r = k;
- }
- else
- {
- if (k < r)
- {
- column = j -1;
- }
- else
- {
- r = k;
- }
- }
- k = 0;
- }
- cout « column;
- }
- DeleteMemory(Array, length);
- _getch(); //задерживает консоль
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement