Advertisement
JStefan

[Kolokviumska] Transformacija na matrica

Dec 24th, 2016
492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.15 KB | None | 0 0
  1. /*
  2.     Трансформација на матрица Problem
  3.     За квадратна матрица А со димензии n x n, од стандарден влез се внесува бројот n (n > 2) и елементите на матрицата (реални броеви).
  4.     Нека X e збирот од елементите под главната дијагонала во матрицата А.
  5.     Нека Y е збирот од елементите под споредната дијагонала во матрицата А. Да се креира нова матрица B на следниот начин:
  6.     сите елементи од главната дијагонала во матрицата B треба да имаат вредност X
  7.     сите елементи од споредната дијагонала во матрицата B треба да имаат вредност Y
  8.     ако даден елемент припаѓа и на главната и на споредната дијагонала во матрицата B, тогаш неговата вредност e X+Y
  9.     сите останати елементи во матрицата B имаат вредност 0
  10.     Новата матрица B да се испечати на стандарден излез.
  11. */
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14.  
  15. int main()
  16. {
  17.     int n, i, j;
  18.     scanf("%d", &n);
  19.     float x = 0, y = 0, a[n][n], b[n][n];
  20.  
  21.     for(i = 0; i < n; ++i) {
  22.         for(j = 0; j < n; ++j) {
  23.             scanf("%f", &a[i][j]);
  24.         }
  25.     }
  26.  
  27.     for(i = 0; i < n; ++i) {
  28.         for(j = 0; j < n; ++j) {
  29.             if(i > j) x += a[i][j];
  30.             if(j > n-i-1) y += a[i][j];
  31.         }
  32.     }
  33.  
  34.     for(i = 0; i < n; ++i) {
  35.         for(j = 0; j < n; ++j) {
  36.             if(i == j && j == n-i-1) b[i][j] = x+y;
  37.             else if(i == j) b[i][j] = x;
  38.             else if(j == n-i-1) b[i][j] = y;
  39.             else b[i][j] = 0;
  40.         }
  41.     }
  42.  
  43.     for(i = 0; i < n; ++i) {
  44.         for(j = 0; j < n; ++j) {
  45.             printf("%.1f ", b[i][j]);
  46.         }
  47.         printf("\n");
  48.     }
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement