Программа
#include <stdio.h>
typedef struct { int H,W; int array[10][10]; } MatrixType; /* Структура несущего массива */
void Input_Array(MatrixType *Matrix) /* Функция ввода массива */
{
int i,j; /* Счетчики */
printf("\nВведите количество строк матрицы "); /* Вывод приглашения */
scanf("%d",&(*Matrix).H); /* Ввод высоты матрицы */
printf("Введите количество столбцов матрицы ");/* Вывод приглашения */
scanf("%d",&(*Matrix).W); /* Ввод ширины матрицы */
for (i=1;i<=(*Matrix).H;i++) /* Цикл ввода строк */
for (j=1;j<=(*Matrix).W;j++) /* Цикл ввода строки */
{
printf("Введите элемент матрицы [%d,%d] ",i,j); /* Вывод приглашения */
scanf("%d",&(*Matrix).array[i][j]); /* Ввод элемента */
}
}
void Output_Array(MatrixType Matrix) /* Функция вывода массива */
{
int i,j; /* Счетчики */
for (i=1;i<=Matrix.H;i++) /* Цикл вывода строк */
{
for (j=1;j<=Matrix.W;j++) printf("%5d ",Matrix.array[i][j]);
/* Вывод строки */
printf("\n"); /* Вывод конца строки */
}
}
void GetNumZeroLine(MatrixType Matrix) /* Функция поиска нулевых строк */
{
int i,j; /* Счетчики */
int LineZeroFlag; /* Флаг нулевой строки */
int MatrixZeroFlag=0; /* Флаг наличия нулевой строки в матрице */
for (i=1;i<=Matrix.H;i++) /* Цикл просмотра строк */
{
LineZeroFlag=1; /* Подъем флага */
for (j=1;j<=Matrix.W;j++) LineZeroFlag=LineZeroFlag&(Matrix.array[i][j]==0);
/* Просмотр строки и вычисление флага строки */
if (!MatrixZeroFlag & LineZeroFlag)
{ /* Выполнение действий при обнаружении первой нулевой строки: */
MatrixZeroFlag=1; /* Подъем флага наличия нулевой строки в матрице */
printf("Номера нулевых строки матрицы: "); /* Вывод заголовка */
};
if (LineZeroFlag) printf("%2d ",i); /* Вывод нулевой строки */
}
if (!MatrixZeroFlag) printf("Нулевые строки не обнаружены ");
/* Вывод сообщения */
printf(".\n"); /* Вывод конца строки */
}
void main()
{
MatrixType Matrix; /* Матрица */
printf("\n"); /* Пропуск строки */
Input_Array(&Matrix); /* Ввод матрицы */
printf("\n"); /* Пропуск строки */
printf("Матрица:\n"); /* Вывод заголовка */
Output_Array(Matrix); /* Вывод матрицы */
GetNumZeroLine(Matrix); /* Поиск нулевых строк */
}
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию