Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 21 стр.

UptoLike

. Практикум по курсу «Алгоритмизация и программирование». Часть 2
else
// все строки исходной матрицы были «нулевыми»
if(m1==0)
printf("Все строки матрицы удалены");
for(i=0;i<n;i++)
delete [] a[i];
delete [] a;
}
// определение функции проверки, состоит ли строка матрицы
// только из нулевых элементов
bool IsNullRow(int n, float* a)
{
int i;
for(i=0;i<n;i++)
if(a[i]!=0)
return false;
return true;
}
// определение функции подсчета количества
// нулевых строк матрицы
int CountNullRows(int m, int n, float** a)
{
int i,k=0;
for(i=0;i<m;i++)
if(IsNullRow(n,a[i]))
k++;
return k;
}
// определение функции удаления строк только
// с нулевыми элементами
void RemoveNullRowMatrix(int m, int n, float** a,
float**& b, int& m1)
{
int i,j,t;
// m1 - количество «ненулевых» строк матрицы
m1=m-CountNullRows(m,n,a);
if(m1==0)
{
// все строки исходной матрицы «нулевые»
b=NULL;
return;
}
21
       .      Практикум по курсу «Алгоритмизация и программирование». Часть 2
     else
          // все строки исходной матрицы были «нулевыми»
          if(m1==0)
               printf("Все строки матрицы удалены");
     for(i=0;i