Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct struktura
- {
- int x;
- int y;
- int wartosc;
- };
- int **createMatrix (int liczba_wierszy, int liczba_kolumn);
- int addElement (struct struktura ** stab, int wielkosc);
- unsigned int localMaximum (int ** matrix, int ilosc_wierszy, int ilosc_kolumn, struct struktura * stab);
- int main()
- {
- return 0;
- }
- return 0;
- }
- int **createMatrix(int liczba_wierszy, int liczba_kolumn)
- {
- int i, j;
- int** matrix = malloc (liczba_wierszy*sizeof(int*));
- if (matrix == NULL)
- return NULL;
- for(i = 0; i < liczba_wierszy; i++)
- {
- matrix[i] = malloc (liczba_kolumn*sizeof(int));
- if (matrix[i] == NULL)
- {
- for (i; i >= 0; i--)
- free(matrix[i]);
- free (matrix);
- return -1;
- }
- }
- for(i = 0; i < liczba_wierszy; i++)
- {
- for(j = 0; j < liczba_kolumn; j++)
- matrix[i][j] = (i*j)%13;
- }
- return matrix;
- }
- int addElement (struct struktura ** stab, int wielkosc)
- {
- int i;
- struct struktura * ptab = malloc((wielkosc + 1)*sizeof(struct struktura));
- if (ptab == NULL)
- return -1;
- for (i = 0; i < wielkosc; i++)
- ptab[i] = (*stab)[i];
- printf("Podaj x, y, wartosc, oddzielone spacjami \n");
- scanf("%d %d %d", &ptab[wielkosc].x, &ptab[wielkosc].y, &ptab[wielkosc].wartosc);
- *stab = ptab;
- free(ptab);
- return 0;
- }
- unsigned int localMaximum (int ** matrix, int liczba_wierszy, int liczba_kolumn, struct struktura * stab)
- {
- int i, j, k;
- int z = 1;
- struct struktura * newtab;
- for (i = 1; i < liczba_wierszy - 1; i++)
- {
- for (j = 1; j < liczba_kolumn - 1; j++)
- if (matrix[i][j] > matrix[i-1][j] &&
- matrix[i][j] > matrix[i+1][j] &&
- matrix[i][j] > matrix[i][j-1] &&
- matrix[i][j] > matrix[i][j+1])
- {
- newtab = malloc(z*sizeof(struct struktura));
- for (k = 1; k < z; k++)
- newtab[z] = stab[z];
- newtab[z].x = j;
- newtab[z].y = i;
- newtab[z].wartosc = matrix[i][j];
- free(stab);
- stab = newtab;
- z++;
- }
- }
- return z;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement