Advertisement
Chris2o2

Трансформација на матрица

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