fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define MAX 10
  5.  
  6. void printMatrix(int mat[MAX][MAX],int rows, int cols)
  7. {
  8. int i,j;
  9. for(i=0;i<rows;i++)
  10. {
  11. for(j=0;j<cols;j++)
  12. printf("%d ",mat[i][j]);
  13. printf("\n");
  14. }
  15. }
  16.  
  17. int symmetry(int mainmatrix[MAX][MAX], int size) {
  18. int isqrtSize= (int)sqrt((double)size);
  19. if(isqrtSize*isqrtSize!=size)
  20. return -1;
  21. int i, j;
  22. for(i=0;i<isqrtSize;i++){
  23. for(j=0;j<isqrtSize;j++) {
  24. if(mainmatrix[i][j]!=mainmatrix[j][i]) {
  25. return -1;
  26. }
  27. }
  28. }
  29. return 0;
  30. }
  31.  
  32. int main()
  33. {
  34. int mat[MAX][MAX]={0};
  35. int i,j,ret;
  36.  
  37.  
  38. mat[0][0]=14;
  39. printMatrix(mat,1,1);
  40. ret=symmetry(mat,1);
  41. ret==0 ? printf("symmetric\n") : printf("not symmetric\n");
  42.  
  43. mat[0][1]=mat[1][0]=mat[1][1]=2;
  44. printMatrix(mat,2,2);
  45. ret=symmetry(mat,4);
  46. ret==0 ? printf("symmetric\n") : printf("not symmetric\n");
  47.  
  48. mat[0][1]=3;
  49. printMatrix(mat,2,2);
  50. ret=symmetry(mat,4);
  51. ret==0 ? printf("symmetric\n") : printf("not symmetric\n");
  52.  
  53. return 0;
  54. }
Success #stdin #stdout 0s 1788KB
stdin
Standard input is empty
stdout
14 
symmetric
14 2 
2 2 
symmetric
14 3 
2 2 
not symmetric