elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 10:11  


Tema destacado: [Overclocking] Récords de overclock del foro

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Generar matrices en 'espiral'
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Generar matrices en 'espiral'  (Leído 13,769 veces)
AndenBomber

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Generar matrices en 'espiral'
« en: 25 Octubre 2008, 03:56 »

Hola comunidad elhacker.net!
Necesito ayuda tratando de generar la siguiente sucesion de matrices:




Osea, ingresar un entero (el orden de la matriz), y que el programa devuelva la matriz 'espiral' de dicho orden.
¿Alguna idea para generar dicha matriz?
Programo en Java, con el JCreator.
Gracias por su tiempo, salu2 ! 


En línea
ohk


Desconectado Desconectado

Mensajes: 1.577


Some times I think i'm crazy, I'm crazy o so crazy


Ver Perfil WWW
Re: Generar matrices en 'espiral'
« Respuesta #1 en: 25 Octubre 2008, 12:30 »

Hola :D

Antes que nada decirte que por aqui a ese llenado le dicen el caracol, y tambien mencionarte que ya estaba resuelto mas abajo :P

Metodo LLenar Matriz Caracol

Código
public static void llenarmatrizcaracol(int mat[][],int n,int m)
   {
       int fil,col,aux,cont,k; //Nos creamos variables de tipo entero
       cont=1;                   //Inicializamos un contador
       for(k=0;k<m;k++)
       {
       col=k;
               for(fil=k;fil<=(m-1-k);fil++)
               {
               mat[fil][col]=cont;
               cont++;
               }
       fil=m-1-k;
               for(col=k+1;col<=n-1-k;col++)
               {
               mat[fil][col]=cont;
               cont++;
               }
       col=n-1-k;
               for(fil=m-2-k;fil>=k;fil--)
               {
               mat[fil][col]=cont;
               cont++;
               }
       fil=k;
               for(col=n-2-k;col>=k+1;col--)
               {
               mat[fil][col]=cont;
               cont++;
               }
       }
       return;
   }
 

Método Mostrar Matriz

Código
public static void mostrarmatriz(int mat[][],int n,int m)
   {            
       for(int fil=0;fil<m;fil++)
       {
           System.out.println("");
           for(int col=0;col<n;col++)
           {
           System.out.print("\t"+mat[fil][col]);
           }
       }        
       return;
   }    

Método Main

Código
public static void main(String args[])
{
       int mat[][];                              //Creamos una matriz
       int n,m;                                   //Creamos variables
       mat=new int[1000][1000];        //Inicializamos la matriz
       n=5;                                       //Inicializamos las variables
       m=5;
       llenarmatrizfila(mat,n,m);         //Llamamos el metodo para llenar la matriz
       mostrarmatriz(mat,n,m);          //Imprimimos en pantalla la matriz
}

Listo, esta hecho en java

Un saludo
OHK


En línea

Y es que a veces pienso, que si no estubiera loco, no podría salir adelante.
AndenBomber

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Generar matrices en 'espiral'
« Respuesta #2 en: 26 Octubre 2008, 02:07 »

Muchas gracias  ;D
En verdad, no sabía como buscarlo... se me ocurrio decirle 'espiral', aunque resultó ser 'caracol'  :xD
Muchas gracias nuevamente  :rolleyes:
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Generar y Sumar matrices Dejen comentarios ...
.NET
_-Javier-_ 0 771 Último mensaje 23 Enero 2011, 19:01
por _-Javier-_
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines