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

UptoLike

. Практикум по курсу «Алгоритмизация и программирование». Часть 2
матрица для хранения результата. Программа содержит три функции:
1) функция IsNullRow проверяет, состоит ли строка только из нулевых
элементов. Ее параметрами являются размер строки матрицы (количество
столбцов) и указатель на проверяемую строку. Функция возвращает значение
true, если строка является «нулевой», false – в противном случае;
2) функция CountNullRows осуществляет подсчет «нулевых» строк
матрицы. В нее передается исходная матрица (ее имя и размеры). Функция
возвращает целое число – количество «нулевых» строк;
3) функция RemoveNullRowMatrix формирует новую матрицу, не
включая в нее «нулевые» строки исходной матрицы. Ее параметрами являют-
ся размеры исходной матрицы и указатель на нее. Для определения размера и
адреса расположения новой матрицы в функцию в качестве параметров пере-
даются еще и две переменные-ссылки: указатель на новую матрицу
(float**& b) и количество строк в ней (int& m1).
# include <stdio.h>
// прототип функции удаления строк только
// с нулевыми элементами
void RemoveNullRowMatrix(int m, int n, float** a,
float**& b, int& m1);
// прототип функции определения, состоит ли строка матрицы
// только из нулевых элементов
bool IsNullRow(int n, float* a);
// прототип функции подсчета количества
// нулевых строк матрицы
int CountNullRows(int m, int n, float** a);
void main(void)
{
int m,n, // размеры исходной матрицы
m1, // количество строк матрицы-результата
i,j;
float**res; // указатель на матрицу-результат
while(true)
{
printf("Введите размеры матрицы:");
scanf("%d",&m);
scanf("%d",&n);
if(n<1 || m<1)
printf("Введите положительные размеры
19
            .       Практикум по курсу «Алгоритмизация и программирование». Часть 2
матрица для хранения результата. Программа содержит три функции:
    1) функция IsNullRow проверяет, состоит ли строка только из нулевых
элементов. Ее параметрами являются размер строки матрицы (количество
столбцов) и указатель на проверяемую строку. Функция возвращает значение
true, если строка является «нулевой», false – в противном случае;
    2) функция CountNullRows осуществляет подсчет «нулевых» строк
матрицы. В нее передается исходная матрица (ее имя и размеры). Функция
возвращает целое число – количество «нулевых» строк;
    3) функция RemoveNullRowMatrix формирует новую матрицу, не
включая в нее «нулевые» строки исходной матрицы. Ее параметрами являют-
ся размеры исходной матрицы и указатель на нее. Для определения размера и
адреса расположения новой матрицы в функцию в качестве параметров пере-
даются еще и две переменные-ссылки: указатель на новую матрицу
(float**& b) и количество строк в ней (int& m1).

   # include 

   // прототип функции удаления строк только
   // с нулевыми элементами
   void RemoveNullRowMatrix(int m, int n, float** a,
                               float**& b, int& m1);

   // прототип функции определения, состоит ли строка матрицы
   // только из нулевых элементов
   bool IsNullRow(int n, float* a);

   // прототип функции подсчета количества
   // нулевых строк матрицы
   int CountNullRows(int m, int n, float** a);

   void main(void)
   {
         int m,n,       // размеры исходной матрицы
              m1,       // количество строк матрицы-результата
              i,j;
         float**res;    // указатель на матрицу-результат
         while(true)
         {
              printf("Введите размеры матрицы:");
              scanf("%d",&m);
              scanf("%d",&n);
              if(n<1 || m<1)
                   printf("Введите положительные размеры

                                      19