Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int mat[100][100],res[100][100];
- int r;
- void region1(int i,int j)
- {
- int sum=0,k,red=0,a,b;
- a=i; b=j;
- while(i<=j){
- for(k=i;k<=j;k++){
- sum+=mat[red][k];
- }
- red++;
- i++;
- j--;
- }
- i=a; j=b; red=0;
- while(i<=j){
- for(k=i;k<=j;k++){
- res[red][k] = sum - mat[red][k];
- }
- red++;
- i++;
- j--;
- }
- }
- void region2(int i,int j)
- {
- int sum=0,k,red=r-1,a,b;
- a=i; b=j;
- while(i<=j){
- for(k=i;k<=j;k++){
- sum+=mat[k][red];
- }
- red--;
- i++;
- j--;
- }
- i=a; j=b; red=r-1;
- while(i<=j){
- for(k=i;k<=j;k++){
- res[k][red] = sum - mat[k][red];
- }
- red--;
- i++;
- j--;
- }
- }
- void region3(int i,int j)
- {
- int sum=0,k,red=0,a,b;
- a=i; b=j;
- while(i<=j){
- for(k=i;k<=j;k++){
- sum+=mat[k][red];
- }
- red++;
- i++;
- j--;
- }
- i=a; j=b; red=0;
- while(i<=j){
- for(k=i;k<=j;k++){
- res[k][red]= sum - mat[k][red];
- }
- red++;
- i++;
- j--;
- }
- }
- void region4(int i,int j)
- {
- int sum=0,k,red=r-1,a,b;
- a=i; b=j;
- while(i<=j){
- for(k=i;k<=j;k++){
- sum+=mat[red][k];
- }
- red--;
- i++;
- j--;
- }
- i=a; j=b; red=r-1;
- while(i<=j){
- for(k=i;k<=j;k++){
- res[red][k] = sum - mat[red][k];
- }
- red--;
- i++;
- j--;
- }
- }
- int main(){
- int i,j,zbir,r1,r2,r3,r4,k;
- scanf("%d",&r);
- for(i=0;i<r;i++)
- for(j=0;j<r;j++)
- {
- scanf("%d",&mat[i][j]);
- res[i][j]=0;
- }
- k=r-1;
- region1(1,r-2);
- region2(1,r-2);
- region3(1,r-2);
- region4(1,r-2);
- for(i=0;i<r;i++){ // dijagonalite
- for(j=0;j<r;j++){
- if(i==j) mat[i][j]=0;
- if(j==k) mat[i][j]=0;
- }
- k--;
- }
- for(i=0;i<r;i++){
- for(j=0;j<r;j++){
- printf("%d ",res[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment