Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Од стандарден влез се вчитуваат броевите M и N, а потоа се вчитува матрица со димензии MxN. Матрицата е составена од бинарни броеви (0 или 1).
- На влезната матрица да и се изврши затварање, односно да се трансформира на следниот начин:
- Секој елемент во матрицата којшто е нула, да се постави на 1 ако и само ако мнозинство од сите негови соседи (хоризонтално, вертикално и дијагонално) се единици.
- Трансформираната матрица да се испечати на стандарден излез.
- */
- #include <stdio.h>
- int main()
- {
- int m, n, a[100][100];
- scanf("%d %d", &m, &n);
- for(int i=0; i<m; i++)
- {
- for(int j=0; j<n; j++)
- {
- scanf("%d", &a[i][j]);
- }
- }
- for(int i=0; i<m; i++)
- {
- for(int j=0; j<n; j++)
- {
- if(a[i][j]==0)
- {
- int vkupno=0, zbir=0;
- if(i>0&&j>0)
- {
- vkupno++;
- zbir+=a[i-1][j-1];
- }
- if(i>0)
- {
- vkupno++;
- zbir+=a[i-1][j];
- }
- if(i>0 && j<n-1)
- {
- vkupno++;
- zbir+=a[i-1][j+1];
- }
- if(j<n-1)
- {
- vkupno++;
- zbir+=a[i][j+1];
- }
- if(i<m-1 && j<n-1)
- {
- vkupno++;
- zbir+=a[i+1][j+1];
- }
- if(i<m-1)
- {
- vkupno++;
- zbir+=a[i+1][j];
- }
- if(i<m-1 && j>0)
- {
- vkupno++;
- zbir+=a[i+1][j-1];
- }
- if(j>0)
- {
- vkupno++;
- zbir+=a[i][j-1];
- }
- if(zbir>vkupno/2)
- {
- a[i][j]=1;
- }
- }
- }
- }
- for(int i=0; i<m; i++)
- {
- for(int j=0; j<n; j++)
- {
- printf("%d ", a[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement