• Sábado 9 de Noviembre de 2024, 03:47

Autor Tema:  como funciona el codigo matris caracol ???helpme  (Leído 796 veces)

lokonrad

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
como funciona el codigo matris caracol ???helpme
« en: Sábado 8 de Mayo de 2010, 02:42 »
0
FUNCIONA CORRECTAMENTE ..PERO  YO QUIERO ENTENDER "COMO LO HACE " AYUDENME SE LOS AGRADECERE MUCHISIMOO

#include <iostream.h>
#include <conio.h>
 
void main(){
int paso=1,cont=1;
int a[50][50];
int grado;
cout<<"Inserte el grado de la matriz caracol a generar: ";
cin>>grado;
for(int k=0;k<grado;k++)for(int j=0;j<grado;j++)a[k][j]=0;
/*
Se tiene que inicializar la matriz en 0
Paso 1: Hacia la derecha
Paso 2: Hacia abajo
Paso 3: Hacia la izquierda
Paso 4: Hacia arriba
*/
    for(int i=0;i<grado;i++){
 
       if(paso==1){
         for(int j=0;j<grado;j++){
                   if(a[j] == 0)
                   a[j]=cont++;
          }//Fin del for
                    }//Fin del paso 1
       paso++;
 
 
        if(paso==2){
             for(int j=0;j<grado;j++){
                if(a[j][grado-(i+1)]==0)
                a[j][grado-(i+1)]=cont++;
                }//fin del for
                  }//fin del paso 2
 
        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++;
             }//fin del for
             }//fin del paso 3
      paso++;
 
      if(paso==4){
             for(int j=grado-1;j>=0;j--){
                if(a[j] == 0)
                a[j]=cont++;
                }//fin del for
                }//fin del paso 4
      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;}
 getch();
 }