#include<stdio.h>
int main( ) {
int n;
int a[ n] [ n] ;
printf ( "Enter the order of amtrix\n " ) ; printf ( "Enter all the elements of matrix here\n " ) ; for ( int q= 0 ; q< n; q++ ) {
for ( int w= 0 ; w< n; w++ ) {
}
}
printf ( "The elements of the matrix are printed below according to spiral order" ) ; for ( int e= 0 ; e< n; e++ ) {
}
int h= 0 ;
int k= n- 1 ;
if ( n% 2 == 0 ) {
for ( int i= n- 1 ; i> 1 ; i-= 2 ) {
for ( int p= 0 ; p< i; p++ ) {
h+= 1 ;
}
for ( int p= 0 ; p< i; p++ ) {
k-= 1 ;
}
for ( int p= 0 ; p< i- 1 ; p++ ) {
h-= 1 ;
}
for ( int p= 0 ; p< i- 1 ; p++ ) {
k+= 1 ;
}
}
} else {
for ( int i= n- 1 ; i> 0 ; i-= 2 ) {
for ( int p= 0 ; p< i; p++ ) {
h+= 1 ;
}
for ( int p= 0 ; p< i; p++ ) {
k-= 1 ;
}
for ( int p= 0 ; p< i- 1 ; p++ ) {
h-= 1 ;
}
for ( int p= 0 ; p< i- 1 ; p++ ) {
k+= 1 ;
}
}
}
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBtYWluKCl7CiAgICBpbnQgbjsKICAgIGludCBhW25dW25dOwogICAgcHJpbnRmKCJFbnRlciB0aGUgb3JkZXIgb2YgYW10cml4XG4iKTsKICAgIHNjYW5mKCIlZCIsJm4pOwogICAgcHJpbnRmKCJFbnRlciBhbGwgdGhlIGVsZW1lbnRzIG9mIG1hdHJpeCBoZXJlXG4iKTsKICAgIGZvcihpbnQgcT0wO3E8bjtxKyspewogICAgICAgIGZvcihpbnQgdz0wO3c8bjt3KyspewogICAgICAgICAgICBzY2FuZigiJWQgIiwmYVtxXVt3XSk7CiAgICAgICAgICAgIAogICAgICAgIH0KICAgIH0KICAgIHByaW50ZigiVGhlIGVsZW1lbnRzIG9mIHRoZSBtYXRyaXggYXJlIHByaW50ZWQgYmVsb3cgYWNjb3JkaW5nIHRvIHNwaXJhbCBvcmRlciIpOwogICAgZm9yKGludCBlPTA7ZTxuO2UrKyl7CiAgICAgICAgcHJpbnRmKCIlZCAiLGFbMF1bZV0pOwogICAgfQogICAgaW50IGg9MDsKICAgIGludCBrPW4tMTsKCiAgICBpZihuJTI9PTApewogICAgICAgIGZvcihpbnQgaT1uLTE7aT4xO2ktPTIpewogICAgICAgICAgICBmb3IoaW50IHA9MDtwPGk7cCsrKXsKICAgICAgICAgICAgICAgICAgICBoKz0xOwogICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWQgIixhW2hdW2tdKTsKCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3IoaW50IHA9MDtwPGk7cCsrKXsKICAgICAgICAgICAgICAgICAgICBrLT0xOwogICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWQgIixhW2hdW2tdKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmb3IoaW50IHA9MDtwPGktMTtwKyspewogICAgICAgICAgICAgICAgICAgIGgtPTE7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZCAiLGFbaF1ba10pOwoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvcihpbnQgcD0wO3A8aS0xO3ArKyl7CiAgICAgICAgICAgICAgICAgICAgays9MTsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkICIsYVtoXVtrXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHByaW50ZigiJWQiLGFbaCsxXVtrXSk7CiAgICAgICAgcHJpbnRmKCIlZCIsYVtoXVtrLTFdKTsKCiAgICB9ZWxzZXsKICAgICAgICBmb3IoaW50IGk9bi0xO2k+MDtpLT0yKXsKICAgICAgICAgICAgICAgIGZvcihpbnQgcD0wO3A8aTtwKyspewogICAgICAgICAgICAgICAgICAgIGgrPTE7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZCAiLGFbaF1ba10pOwoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvcihpbnQgcD0wO3A8aTtwKyspewogICAgICAgICAgICAgICAgICAgIGstPTE7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZCAiLGFbaF1ba10pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZvcihpbnQgcD0wO3A8aS0xO3ArKyl7CiAgICAgICAgICAgICAgICAgICAgaC09MTsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkICIsYVtoXVtrXSk7CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yKGludCBwPTA7cDxpLTE7cCsrKXsKICAgICAgICAgICAgICAgICAgICBrKz0xOwogICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWQgIixhW2hdW2tdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIHJldHVybiAwOwp9CgoK