Advertisement
Guest User

Untitled

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