Matriz Cuadrada

Necesito recorrer una matriz cuadrada por ejemplo de 4x4 en forma de espiral mostrando los datos.
Por ejemplo.
Matriz:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
me debe mostrar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 respuesta

Respuesta
1
Aquí esta lo que pides espero te sirva ya que soy nueva en esto, de hecho eres la primera persona a la que contesto, no te iba a contestar ya que pienso que te hago un mal pero yo también fui estudiante y se lo que es no oder realizar algunos programas esperando te esmeres un poco más en la realización de tus ejercicios,
att Clara
Estas en lo cierto, pero tu solución no apareció en la respuesta, podrás enviarla nuevamente, pues no se como enviaste el mensaje que no aparece la solución, sobre el recorrido en espiral de una matriz cuadrada.
Gracias
/* Matriz bidimensional. */
#include <iostream.h>
#include <iomanip.h>
void main() /* Rellenamos una matriz */
{
int x,i,rango, numeros[10][10];
do{
cout<<"INTRODUCE RANGO DE LA MATRIZ(1-10)......";
cin>>rango;
}while(rango<=0||rango>10);
/* rellenamos la matriz */
cout<<"INTRODUCE LOS DATOS PARA UNA MATRIZ DE "<<rango<<" X "<<rango<<endl;
for (x=0;x<rango;x++)
for (i=0;i<rango;i++)
cin>>numeros[x];
cout<<endl;
//scanf("%d",&numeros[x]);
/* visualizamos la matriz */
for (x=0;x<rango;x++)
{ for (i=0;i<rango;i++)
{
cout<<numeros[x]<<setw(5);
}
cout<<endl;
}
int tope,a,k;
if (rango%2) tope=rango/2+1;
else tope=rango/2;
for(a=0;a<tope;a++)
{
for(i=a,k=a;k<rango-a;k++)
cout<<numeros[k]<<" ";
for(i=a+1,k--;i<rango-a;i++)
cout<<numeros[k]<<" ";
for(k--,i--;k>=a;k--)
cout<<numeros[k]<<" ";
for(k++,i--;i>a;i--)
cout<<numeros[k]<<" ";
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas