Упражнения C: определить, является ли матрица разреженной матрицей
Массив C: упражнение 29 с решением
Напишите программу на C, чтобы принять матрицу и определить, является ли она разреженной матрицей.
Иллюстрированная презентация:
Пример решения:
Код C:
#include <stdio.h>
/*A sparse martix is matrix which has more zero elements than nonzero elements */
void main ()
{
static int arr1[10][10];
int i,j,r,c;
int ctr=0;
printf("\n\nDetermine whether a matrix is a sparse matrix :\n");
printf("----------------------------------------------------\n");
printf("Input the number of rows of the matrix : ");
scanf("%d", &r);
printf("Input the number of columns of the matrix : ");
scanf("%d", &c);
printf("Input elements in the first matrix :\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("element - [%d],[%d] : ",i,j);
scanf("%d",&arr1[i][j]);
if (arr1[i][j]==0)
{
++ctr;
}
}
}
if (ctr>((r*c)/2))
{
printf ("The given matrix is sparse matrix. \n");
}
else
printf ("The given matrix is not a sparse matrix.\n");
printf ("There are %d number of zeros in the matrix.\n\n",ctr);
}
Пример вывода:
Определите, является ли матрица разреженной матрицей: -------------------------------------------------- - Введите количество строк матрицы: 2 Введите количество столбцов матрицы: 2 Входные элементы в первой матрице: элемент - [0], [0]: 0 элемент - [0], [1]: 0 элемент - [1], [0]: 1 элемент - [1], [1]: 0 Данная матрица является разреженной матрицей. В матрице 3 числа нулей.
Блок - схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Предыдущий: Напишите программу на C для вычисления определителя матрицы 3 x 3.
Далее: Напишите программу на C, которая принимает две матрицы и проверяет, равны ли они.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code