How to check if all matrix elements are zeros or nonzeros in C

1 Answer

0 votes
#include <stdio.h>

#define N 5

int matrix_zeros(int m[][N]);
void print_matrix(int m[][N]);

int main(void)
{
    int matrix[N][N] = { {0}, {0} };
   
    print_matrix(matrix);
  
    if (matrix_zeros(matrix))
        printf("\nmatrix zeros\n\n"); 
    else
        printf("\nmatrix nonzeros\n\n"); 
        
    matrix[2][1] = 100;
     
    print_matrix(matrix);
    
    if (matrix_zeros(matrix))
        printf("\nmatrix zeros\n\n"); 
    else
        printf("\nmatrix nonzeros\n\n"); 

    
    return 0;
}

int matrix_zeros(int m[][N])
{
    int i, j;
    
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
            if (m[i][j] != 0) return 0;
    }
    return 1;
}
void print_matrix(int m[][N])
{
    int i, j;
     
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
            printf("%5i", m[i][j]);
         
        printf("\n");
    }
}

/* 
run:

    0    0    0    0    0
    0    0    0    0    0
    0    0    0    0    0
    0    0    0    0    0
    0    0    0    0    0

matrix zeros

    0    0    0    0    0
    0    0    0    0    0
    0  100    0    0    0
    0    0    0    0    0
    0    0    0    0    0

matrix nonzeros 

*/




answered Sep 23, 2014 by avibootz
edited Sep 23, 2014 by avibootz
...