Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Трансформација на матрица
- За квадратна матрица А со димензии n x n, од стандарден влез се внесува бројот n (n > 2) и елементите на матрицата (реални броеви). Нека X e збирот од елементите под главната дијагонала во матрицата А. Нека Y е збирот од елементите под споредната дијагонала во матрицата А. Да се креира нова матрица B на следниот начин:
- сите елементи од главната дијагонала во матрицата B треба да имаат вредност X
- сите елементи од споредната дијагонала во матрицата B треба да имаат вредност Y
- ако даден елемент припаѓа и на главната и на споредната дијагонала во матрицата B, тогаш неговата вредност e X+Y
- сите останати елементи во матрицата B имаат вредност 0
- Новата матрица B да се испечати на стандарден излез.
- examples(photo): https://gold-hosting.me/pics/images/2019/12/28/image8628602829b55aed.png
- */
- #include <stdio.h>
- #define MAX 100
- int main(void){
- float a[MAX][MAX], x=0, y=0;
- int n;
- scanf("%d", &n);
- for(int i=0; i<n; i++){
- for(int j=0; j<n; j++){
- scanf("%f", &a[i][j]);
- }
- }
- for(int i=0; i<n; i++){
- for(int j=0; j<n; j++){
- if(i>j)
- x+=a[i][j];
- if(i+j>n-1)
- y+=a[i][j];
- }
- }
- for(int i=0; i<n; i++){
- for(int j=0; j<n; j++){
- if(i==j)
- a[i][j]=x;
- else if(i>j && i+j!=n-1)
- a[i][j]=0;
- if(i+j==n-1)
- a[i][j]=y;
- else if(i+j>n-1 && i!=j)
- a[i][j]=0;
- if(j>i&& i!=j && i+j!=n-1)
- a[i][j]=0;
- if(n%2!=0 && j==n/2 && i==n/2)
- a[i][j]=x+y;
- }
- }
- for(int i=0; i<n; i++){
- for(int j=0; j<n; j++){
- printf("%.1f ", a[i][j]);
- }
- printf("\n");
- }
- }
Add Comment
Please, Sign In to add comment