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