Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Региони на матрица
- Главната и споредната дијагонала ја делат квадратната матрицата на 4 региони:
- Елементите кои лежат на некоја од дијагоналите не припаѓаат на ниту еден регион.
- Од стандарден влез се читаат димензии на квадратна матрица (макс. 100х100), составена од целобројни елементи.
- Во продолжение се читаат сите елементи од матрицата соодветно.
- Да се состави нова матрица од иста димензија, во која секој елемент кој припаѓа на претходно наведените региони
- ќе биде заменет со сумата на останатите елементи од истиот регион од првата матрица.
- Доколку нема други елементи во истиот регион, елементот да се постави на 0.
- Елементите од главната и споредната дијагонала потребно е да се постават на 0.
- */
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int n, m, i, j, z1 = 0, z2 = 0, z3 = 0, z4 = 0;
- scanf("%d", &n);
- int niza[n][n];
- for(i = 0; i < n; ++i) {
- for(j = 0; j < n; ++j) {
- scanf("%d", &niza[i][j]);
- if(i < n/2 && (j > i && j < n-i-1)) {
- z1 += niza[i][j];
- } else if(j < n/2 && (i > j && i < n-j-1)) {
- z2 += niza[i][j];
- } else if(i > n/2 && (j < i && j > n-i-1)) {
- z3 += niza[i][j];
- } else if(j > n/2 && (i < j && i > n-j-1)) {
- z4 += niza[i][j];
- }
- }
- }
- int zamenetaNiza[n][n];
- for(i = 0; i < n; ++i) {
- for(j = 0; j < n; ++j) {
- if(i == j || i+j == n-1) {
- zamenetaNiza[i][j] = 0;
- } else {
- if(i < n/2 && (j > i && j < n-i-1)) {
- z1 != niza[i][j] ? (zamenetaNiza[i][j] = z1 - niza[i][j]) : (zamenetaNiza[i][j] = 0);
- } else if(j < n/2 && (i > j && i < n-j-1)) {
- z2 != niza[i][j] ? (zamenetaNiza[i][j] = z2 - niza[i][j]) : (zamenetaNiza[i][j] = 0);
- } else if(i > n/2 && (j < i && j > n-i-1)) {
- z3 != niza[i][j] ? (zamenetaNiza[i][j] = z3 - niza[i][j]) : (zamenetaNiza[i][j] = 0);
- } else if(j > n/2 && (i < j && i > n-j-1)) {
- z4 != niza[i][j] ? (zamenetaNiza[i][j] = z4 - niza[i][j]) : (zamenetaNiza[i][j] = 0);
- }
- }
- }
- }
- for(i = 0; i < n; ++i) {
- for(j = 0; j < n; ++j) {
- printf("%d ", zamenetaNiza[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement