C La forma de matriz cuadrada espiral digital
1. A continuación se muestra una matriz cuadrada en espiral de orden 5*5. Programe para imprimir (en dirección espiral en el sentido de las agujas del reloj) una matriz cuadrada de orden n*n (n<=15) de este formulario, n se ingresa desde el teclado.
┌ 1 ?2 ?3 ?4 ?5 ┐
│ 16 17 18 19 6 │
│ 15 24 25 20 7 │
│ 14 23 22 21 8 │
└ 13 12 11 10 9 ┘
2. Programa de muestra: #include?
{
if(x?==?0) p>
retorno?lt+y;
else?if(y?==?0)
retorno?lt+4*(n -1)-x;
else?if(y?==?n-1)
return?lt+n+x-1;
else?if(x? ==?n-1)
retorno?lt+3*(n-1)-y;
otro
retorno?get(x-1) ,?y-1,?lt+4*(n-1),?n-2);
}
int?main(void)
{
int?n,?i,?j;
scanf("%d",? &n);
for(i?=? 0;?i?
for(j?=?0;?j?
printf("%2d?",?get(i,?j,?1,?n));
putchar('\n');
}
¿volver?