Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct struktura
  4. {
  5. int x;
  6. int y;
  7. int wartosc;
  8. };
  9.  
  10. int **createMatrix (int liczba_wierszy, int liczba_kolumn);
  11. int addElement (struct struktura ** stab, int wielkosc);
  12. unsigned int localMaximum (int ** matrix, int ilosc_wierszy, int ilosc_kolumn, struct struktura * stab);
  13.  
  14.  
  15.  
  16.  
  17. int main()
  18. {
  19.  
  20. return 0;
  21. }
  22.  
  23.  
  24. return 0;
  25. }
  26.  
  27. int **createMatrix(int liczba_wierszy, int liczba_kolumn)
  28. {
  29. int i, j;
  30.  
  31. int** matrix = malloc (liczba_wierszy*sizeof(int*));
  32. if (matrix == NULL)
  33. return NULL;
  34.  
  35. for(i = 0; i < liczba_wierszy; i++)
  36. {
  37. matrix[i] = malloc (liczba_kolumn*sizeof(int));
  38. if (matrix[i] == NULL)
  39. {
  40. for (i; i >= 0; i--)
  41. free(matrix[i]);
  42. free (matrix);
  43. return -1;
  44. }
  45. }
  46. for(i = 0; i < liczba_wierszy; i++)
  47. {
  48. for(j = 0; j < liczba_kolumn; j++)
  49. matrix[i][j] = (i*j)%13;
  50. }
  51. return matrix;
  52. }
  53.  
  54. int addElement (struct struktura ** stab, int wielkosc)
  55. {
  56. int i;
  57. struct struktura * ptab = malloc((wielkosc + 1)*sizeof(struct struktura));
  58. if (ptab == NULL)
  59. return -1;
  60.  
  61. for (i = 0; i < wielkosc; i++)
  62. ptab[i] = (*stab)[i];
  63.  
  64. printf("Podaj x, y, wartosc, oddzielone spacjami \n");
  65. scanf("%d %d %d", &ptab[wielkosc].x, &ptab[wielkosc].y, &ptab[wielkosc].wartosc);
  66.  
  67. *stab = ptab;
  68. free(ptab);
  69.  
  70. return 0;
  71.  
  72. }
  73.  
  74. unsigned int localMaximum (int ** matrix, int liczba_wierszy, int liczba_kolumn, struct struktura * stab)
  75. {
  76. int i, j, k;
  77. int z = 1;
  78. struct struktura * newtab;
  79.  
  80. for (i = 1; i < liczba_wierszy - 1; i++)
  81. {
  82. for (j = 1; j < liczba_kolumn - 1; j++)
  83. if (matrix[i][j] > matrix[i-1][j] &&
  84. matrix[i][j] > matrix[i+1][j] &&
  85. matrix[i][j] > matrix[i][j-1] &&
  86. matrix[i][j] > matrix[i][j+1])
  87. {
  88. newtab = malloc(z*sizeof(struct struktura));
  89. for (k = 1; k < z; k++)
  90. newtab[z] = stab[z];
  91.  
  92. newtab[z].x = j;
  93. newtab[z].y = i;
  94. newtab[z].wartosc = matrix[i][j];
  95. free(stab);
  96. stab = newtab;
  97.  
  98. z++;
  99. }
  100.  
  101. }
  102. return z;
  103.  
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement