fork download
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4. bool eksor(bool x,bool y){
  5. if(x==true&&y==true)
  6. return false;
  7. else
  8. return(x||y);
  9.  
  10. }
  11. int main() {
  12. int n;
  13. scanf("%d", &n); //Membaca nilai dari ukuran matriks
  14. int matrix[n][n]; //Mendeklarasikan Matriks
  15. for(int i=0; i<n; i++)
  16. for(int j=0; j<n; j++)
  17. scanf("%d", &matrix[i][j]); //Membaca nilai setiap elemen dari matriks
  18. for(int i=0; i<n; i++)
  19. for(int j=0; j<n; j++){
  20. if(eksor((i==0),(i==(n-1)))&&(eksor((j==0),(j==(n-1)))))
  21. printf("%d", matrix[(n-1)-i][(n-1)-j]); //Hasil penukaran elemen-elemen matriks di paling pojok
  22. else if(i==0||i==(n-1))
  23. printf("%d", matrix[(n-1)-i][j]); //Hasil penukaran elemen-elemen matriks di sisi paling atas dan paling bawah
  24. else if(j==0||j==(n-1))
  25. printf("%d", matrix[i][(n-1)-j]); //Hasil penukaran elemen-elemen matriks di paling samping
  26. else
  27. printf("%d", matrix[i][j]);
  28. if(j<(n-1)) //Memisahkan setiap elemen matriks yang dicetak kecuali elemen terakhir di setiap baris
  29. printf(" ");
  30. else
  31. printf("\n");
  32. }
  33.  
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0s 9424KB
stdin
5
1 2 3 4 0
5 6 7 8 0
9 0 1 2 0
3 4 5 6 0
0 0 0 0 0
stdout
0 0 0 0 0
0 6 7 8 5
0 0 1 2 9
0 4 5 6 3
0 2 3 4 1