Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*• Oд стандарден влез се вчитува матрица со димензии M x N. Да се напише програма која во друга матрица
- со исти димензии, секој елемент ќе го замени со збирот на неговите соседни елементи (по хоризонтала и
- вертикала) кои се поголеми од самиот тој елемент. Соседни елементи на еден елемент во матрицата се
- елементите кои се наоѓаат горе, долу, лево и десно од самиот елемент (ако елементот е дел од првата или
- последната редица или колона му недостасува некој сосед).
- • Пример:
- 4 2 7 11 0 19 27 0
- 3 8 16 1 29 16 0 32
- 17 8 9 5 0 40 16 16
- 6 14 4 7 31 0 30 0
- • Во примерот соседи на елементот 4 се 3, 2, додека соседи на елементот 9 се 16, 8, 5, 4. Почетна сума за секој елемент е 0.
- */
- #include<stdio.h>
- #define MAX 100
- int main()
- {
- int mat[MAX][MAX], n, m, i, j, newmat[MAX][MAX], suma=0;
- printf("Vnesete dimenzii na matricata!\n");
- scanf("%d%d",&n, &m);
- for(i=0; i<n; i++)
- {
- for(j=0; j<m; j++)
- {
- scanf("%d", &mat[i][j]);
- }
- }
- for(i=0;i<n;i++){
- for(j=0;j<m;j++){
- newmat[i][j]=mat[i][j];
- }
- }
- for(i=0; i<n; i++)
- {
- for(j=0; j<m; j++)
- {
- suma=0;
- if(i-1>=0 && mat[i][j]<mat[i-1][j])
- {
- suma+=mat[i-1][j];
- }
- if(i+1<n && mat[i][j]<mat[i+1][j])
- {
- suma+=mat[i+1][j];
- }
- if(j-1>=0 && mat[i][j]<mat[i][j-1])
- {
- suma+=mat[i][j-1];
- }
- if(j+1<m && mat[i][j]<mat[i][j+1])
- {
- suma+=mat[i][j+1];
- }
- newmat[i][j]=suma;
- }
- }
- printf("\n");
- for(i=0; i<n; i++)
- {
- for(j=0; j<m; j++)
- {
- printf("%d ", newmat[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement