Crazy

[C] Matrica

Nov 24th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. #include <stdio.h>
  2. int main(){
  3.  
  4. int p,i,j,k,broj,zbir,zbir1,x,y;
  5. scanf("%d",&k);
  6. int mat[k][k],rez[k][k];
  7. for(i=0;i<k;i++){
  8.     for(j=0;j<k;j++){
  9.         scanf("%d",&mat[i][j]);
  10.         rez[i][j]=mat[i][j];
  11.     }
  12. }
  13. p=k-1;
  14. for(i=0;i<k;i++){
  15.     zbir=zbir1=0;
  16.     for(j=0;j<k;j++){
  17.         if(i==j){ // glavna dijagonala
  18.             x=i; y=j;
  19.             y++;
  20.             while(y<k){
  21.                 zbir+=mat[x][y];
  22.                 y++;
  23.             }
  24.             x=i; y=j;
  25.             x--;
  26.             while(x>=0){
  27.                 zbir+=mat[x][y];
  28.                 x--;
  29.             }
  30.         }
  31.         if(j==p){ // sporedna dijagonala
  32.           x=i; y=j;
  33.           y--;
  34.           while(y>=0){
  35.             zbir1+=mat[x][y];
  36.             y--;
  37.           }
  38.           x=i; y=j;
  39.           x++;
  40.           while(x<k){
  41.             zbir1+=mat[x][y];
  42.             x++;
  43.           }
  44.         }
  45.         if(j==p&&i==j) rez[i][j]=zbir+zbir1;
  46.         else{
  47.             if(j==p) rez[i][j]=zbir1;
  48.             if(i==j) rez[i][j]=zbir;
  49.         }
  50.     }
  51.     p--;
  52. }
  53. for(i=0;i<k;i++){
  54.     for(j=0;j<k;j++){
  55.         printf("%d ",rez[i][j]);
  56.     }
  57.     printf("\n");
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment