Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. int **a, n, i, j, pom;
  6. while (1) {
  7. printf_s("Broj elemenata matrice: ");
  8. scanf_s("%d", &n);
  9. if (n <= 0)
  10. break;
  11. a = calloc(n, sizeof(int*));
  12. if (a == NULL)
  13. {
  14. printf_s("Greska pri alociranju memorije!");
  15. exit(1);
  16. }
  17.  
  18. printf_s("\n Popunjavanje matrice: \n\n");
  19. for (i = 0; i<n; i++) {
  20. *(a + i) = calloc(n, sizeof(int));
  21. if (*(a + i) == NULL)
  22. {
  23. printf_s("Greska pri alociranju memorije!");
  24. exit(1);
  25. }
  26.  
  27. for (j = 0; j < n;)
  28. {
  29. printf_s("Unesi %d . vrstu, %d . kolonu: ", i + 1, j + 1);
  30. scanf_s("%d", &pom);
  31. if (pom != 0 && pom != 1 && pom != 2)
  32. {
  33. printf_s("Greska, unesi opet: ");
  34. continue;
  35. }
  36. else {
  37. *(*(a + i) + j) = pom;
  38. }
  39. j++;
  40. }
  41. }
  42. printf_s("\nIspis matrice: \n\n");
  43. for (i = 0; i<n; i++) {
  44. for (j = 0; j < n; j++)
  45. {
  46. printf_s("| %d | ", *(*(a + i) + j));
  47. }
  48. printf_s("\n\n");
  49. }
  50.  
  51. int pombr=0;
  52. //iks oks - horizontalna provera *(*(a + i) + j) = a[i][j]
  53. for (i = 0; i<n; i++) {
  54. if (**(a + i) == 0)
  55. continue;
  56. pombr = 0;
  57. for (j = 0; j < n; j++)
  58. {
  59. if (*(*(a + i) + j) == **(a + i))
  60. {
  61. pombr++;
  62. }
  63. }
  64. if (pombr==n)
  65. {
  66.  
  67. printf("Pobeda! %d . red, horizontalno!\n\n", i+1);
  68. }
  69.  
  70. }
  71.  
  72.  
  73.  
  74. //pombr = 0;
  75. ////iks oks - vertikalna *(*(a + i) + j) = a[i][j]
  76. //for (j = 0; j<n; j++) {
  77. //
  78. // pombr = 0;
  79. // for (i = 0; i < n; i++)
  80. // {
  81. // if (**(a + i) == 0)
  82. // continue;
  83. // if (*(*(a + i) + j) == **(a + i))
  84. // {
  85. // pombr++;
  86. // }
  87. // }
  88. // if (pombr == n)
  89. // {
  90.  
  91. // printf("Pobeda! %d . red, vertikalno!\n\n", j + 1);
  92. // }
  93.  
  94. //}
  95.  
  96.  
  97.  
  98. //iks oks - dijagonala 1
  99. int pobeda = 0;
  100. if (**a != 0)
  101. {
  102. pobeda = 1;
  103. for (i = 0; i < n; i++) {
  104. if (*(*(a + i) + i) != **a)
  105. {
  106. pobeda = 0;
  107. break;
  108. }
  109.  
  110. }
  111.  
  112. }
  113. if (pobeda == 1)
  114. {
  115. printf("Pobeda! Glavna dijagonala! \n\n");
  116. }
  117.  
  118. for (i = 0; i<n; i++)
  119. free(a[i]);
  120. free(a);
  121.  
  122. }
  123. return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement