Dimitrija

Laboratoriski ISPITNI - 18 SP

Jan 5th, 2021 (edited)
963
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.43 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX 100
  4.  
  5. /*
  6.  
  7. Од тастатура се внесуваат димензиите на една матрица (m,n <= 100), а потоа и елементите од матрицата. Да се трансформира матрицата така што средниот елемент во секоја редица ќе се замени со разликата (по апсолутна вредност) на сумата на елементите во првата половина од редицата и сумата на елементите во втората половина на редицата. Ако матрицата има парен број колони, се менува вредноста на средните два елемента. Средниот/те елемент/и влегува/ат во сумите (при непарен број на колони, средниот елемент влегува во двете суми!). Да се испечати на екран променетата матрица.
  8.  
  9. Пример.
  10.  
  11. Влез:
  12.  
  13. m = 4
  14.  
  15. n = 4
  16.  
  17. 1 3 -5 4
  18.  
  19. 2 10 2 10
  20.  
  21. 7 2 3 5
  22.  
  23. 3 2 10 3
  24.  
  25. Излез:
  26.  
  27. 1 5 5 4
  28.  
  29. 2 0 0 10
  30.  
  31. 7 1 1 5
  32.  
  33. 3 8 8 3
  34.  
  35. */
  36.  
  37. int main(){
  38.  
  39.     int matrica[MAX][MAX];
  40.    
  41.     int m,n,i,j;
  42.     scanf("%d %d",&m,&n);
  43.    
  44.     for (i=0;i<m;i++){
  45.         for (j=0;j<n;j++){
  46.         scanf("%d",&matrica[i][j]);
  47.         }
  48.    
  49.     }
  50.    
  51.      
  52.    
  53.     if (n%2 == 1){
  54.         int sls,sds;
  55.    
  56.         for (i=0;i<m;i++){
  57.        
  58.             sls=0;
  59.             sds=0;
  60.            
  61.             for (j=0;j<n/2;j++){
  62.                 sls+=matrica[i][j];
  63.             }
  64.             for (j=n/2+1;j<n;j++){
  65.                 sds+=matrica[i][j];
  66.             }
  67.            
  68.             matrica[i][n/2]=abs(sls-sds);
  69.            
  70.          }
  71.    
  72.    
  73.    
  74.     }
  75.     else{
  76.    
  77.         int sls,sds;
  78.    
  79.         for (i=0;i<m;i++){
  80.             sls=0;
  81.             sds=0;
  82.             for (j=0;j<n/2;j++){
  83.                 sls+=matrica[i][j];
  84.             }
  85.             for (j=n/2;j<n;j++){
  86.                 sds+=matrica[i][j];
  87.             }
  88.            
  89.             matrica[i][n/2-1]=abs(sls-sds);
  90.             matrica[i][n/2]=abs(sls-sds);
  91.          }
  92.  
  93.     }
  94.    
  95.      for (i=0;i<m;i++){
  96.         for (j=0;j<n;j++){
  97.         printf("%d ",matrica[i][j]);
  98.         }
  99.         printf("\n");
  100.     }
  101.    
  102.  
  103.  
  104.  
  105.  
  106. }
Add Comment
Please, Sign In to add comment