Dimitrija

Laboratoriski ISPITNI - 18 SP

Jan 5th, 2021 (edited)
667
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data