include iostream необходимо для ввода вывода на консоль функция подсчё

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>//необходимо для ввода и вывода на консоль
//функция подсчёта строк без нулевых элементов
//возвращает целое число, принимает в качесве параметров указатель на матрицу, число столбцов и строк в матрице
int num_of_rows(int **a, int n, int m)
{
int result=0;//обнуляем результат-счётчик
bool isnull=false;//изначально в текущей строке нет нулевого элемента
for (int i=0; i<n; i++)//пробегаем по всем строкам
{
for (int j=0; j<m; j++)//пробегаем по всем столбцам внутри строки
{
if (a[i][j]==0) isnull=true;//если попался нулевой элемент, то isnull присваиваем значение истина, т.е. нулевой элемент найден
}
if (isnull==false) result++;//если после того как мы пробежали по всем столбцам внутри строки и isnull ложь, то в строке нет 0 и мы увеличиваем счётчик-результат на 1
else isnull=false;//иначе 0 в строке были, данную строку мы не засчитываем, а isnull устанавливаем в ложь для следующей строки
}
return result;//в итоге возвращаем результат
}
int main()
{
int N, M;//матрица размером NxM
std::cout<<"Please, enter number of rows: ";//спрашиваем количество строк у матрицы
std::cin>>N;//считываем количество строк
std::cout<<"Please, enter number of columns: ";//налогично для столбцов
std::cin>>M;
int **matrix=new int*[N];//создаём массив указателей из N указателей (кол-во строк)
for (int i=0; i<N; i++) matrix[i]=new int[M];//и для каждого указателя строки создаём массив элементов столбцов размером M
for (int i=0; i<N; i++)//пробегаем по строкам
for (int j=0; j<M; j++)//пробегаем по столбцам
{
std::cout<<"Enter element ["<<i<<"]["<<j<<"]: ";//просим пользователя ввести элемент текущих строки и столбца
std::cin>>matrix[i][j];//считываем элемент
}
std::cout<<"Numbers of rows without null elements: "<<num_of_rows(matrix, N, M);//выводим результат для матрицы
return 0;//программа успешно завершилась, возвращаем 0
}