Estoy intentando generar una matriz en caracol de adentro hacia afuera, mi código actual solo la genera de afuera hacia adentro.
Pueden ayudarme con el código para generar la matriz de adentro hacia afuera.
Código
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { { int paso=1,cont=1; int a[50][50]; int grado; cout<<"Ingrese la matriz a generar: "; cin>>grado; for(int k=0;k<grado;k++)for(int j=0;j<grado;j++)a[k][j]=0; for(int i=0;i<grado;i++){ if(paso==1){ for(int j=0;j<grado;j++){ if(a[i][j] == 0) a[i][j]=cont++; } } paso++; if(paso==2){ for(int j=0;j<grado;j++){ if(a[j][grado-(i+1)]==0) a[j][grado-(i+1)]=cont++; } } paso++; if(paso==3){ for(int j=grado-1;j>=0;j--){ if(a[grado-(i+1)][j] == 0) a[grado-(i+1)][j]=cont++; } } paso++; if(paso==4){ for(int j=grado-1;j>=0;j--){ if(a[j][i] == 0) a[j][i]=cont++; } } paso=1; } for(int ii=0;ii<grado;ii++){ for(int j=0;j<grado;j++){ if(a[ii][j]<10)cout<<"0"; cout<<a[ii][j]<<" "; } cout<<endl;} getchar(); } system("PAUSE"); return EXIT_SUCCESS; }
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex