Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main(){
- int matt[100][100];
- int n,i,j,k;
- scanf("%d", &n);
- for(i=0; i<n; i++){
- for(j=0; j<n; j++){
- scanf("%d", &matt[i][j]);
- }
- }
- //Main diagonal
- int main_diag[100];
- for(i=0; i<n; i++){
- for(j=0; j<n; j++){
- if(i==j)
- main_diag[j] = matt[i][j];
- }
- }
- //Opposite diagonal
- int opposite_diag[100];
- for(i=0; i<n; i++){
- for(j=0; j<n; j++){
- if(i+j == n-1)
- opposite_diag[j] = matt[i][j];
- }
- }
- //Printing the original matrix before making any changes...
- printf("The original matrix: \n");
- for(i=0; i<n; i++){
- for(j=0; j<n; j++){
- printf("%d\t", matt[i][j]);
- }
- printf("\n");
- }
- //Adding the opposite diagonal on the main diagonals position
- for(i=0; i<n; i++){
- for(j=0, k=n-1; j<n, k>=0; j++, k--){
- if(i==j)//Main diagonal
- matt[i][j] = opposite_diag[k];
- }
- }
- //Adding the main diagonal on the opposite diagonals position
- for(i=0; i<n; i++){
- for(j=0, k=n-1; j<n, k>=0; j++, k--){
- if(i+j == n-1)//Opposite diagonal
- matt[i][j] = main_diag[k];
- }
- }
- printf("\nThe main diagonal elements are: \n");
- for(i=0; i<n; i++){
- printf("%d\t", main_diag[i]);
- }
- printf("\n\nThe opposite diagonal elements are: \n");
- for(i=n-1; i>=0; i--){
- printf("%d\t", opposite_diag[i]);
- }
- //Printing the new matrix
- printf("\n\nThe final matrix with swapped diagonals: \n");
- for(i=0; i<n; i++){
- for(j=0; j<n; j++){
- printf("%d\t", matt[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement