elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  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 43,560 veces)
AndenBomber

Desconectado Desconectado

Mensajes: 4


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

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<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


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

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
  1. public static void llenarmatrizcaracol(int mat[][],int n,int m)
  2.    {
  3.        int fil,col,aux,cont,k; //Nos creamos variables de tipo entero
  4.        cont=1;                   //Inicializamos un contador
  5.        for(k=0;k<m;k++)
  6.        {
  7.        col=k;
  8.                for(fil=k;fil<=(m-1-k);fil++)
  9.                {
  10.                mat[fil][col]=cont;
  11.                cont++;
  12.                }
  13.        fil=m-1-k;
  14.                for(col=k+1;col<=n-1-k;col++)
  15.                {
  16.                mat[fil][col]=cont;
  17.                cont++;
  18.                }
  19.        col=n-1-k;
  20.                for(fil=m-2-k;fil>=k;fil--)
  21.                {
  22.                mat[fil][col]=cont;
  23.                cont++;
  24.                }
  25.        fil=k;
  26.                for(col=n-2-k;col>=k+1;col--)
  27.                {
  28.                mat[fil][col]=cont;
  29.                cont++;
  30.                }
  31.        }
  32.        return;
  33.    }
  34.  

Método Mostrar Matriz

Código
  1. public static void mostrarmatriz(int mat[][],int n,int m)
  2.    {            
  3.        for(int fil=0;fil<m;fil++)
  4.        {
  5.            System.out.println("");
  6.            for(int col=0;col<n;col++)
  7.            {
  8.            System.out.print("\t"+mat[fil][col]);
  9.            }
  10.        }        
  11.        return;
  12.    }    

Método Main

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

Listo, esta hecho en java

Un saludo
OHK


En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
AndenBomber

Desconectado Desconectado

Mensajes: 4


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

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

JOSEATT

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Generar matrices en 'espiral'
« Respuesta #3 en: 8 Agosto 2012, 04:27 am »

hola amigo, se q ese codigo lo hiciste para java, pero quiero pedirte de favor que si me lo puedes hacer para c++
perdona que moleste a estas horas pero me urge para mañana,
de antemano muchisimas gracias
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 (C#, VB.NET, ASP)
_-Javier-_ 0 3,523 Último mensaje 23 Enero 2011, 19:01 pm
por _-Javier-_
Matriz 3x3 imprimirla en espiral
Java
lluvplay 4 10,162 Último mensaje 5 Junio 2012, 22:45 pm
por Valkyr
[Python] Espiral de Ulam
Python
engel lex 1 4,057 Último mensaje 19 Enero 2015, 12:00 pm
por Gh057
Dibujar un Espiral o caracol
Programación C/C++
mc275 7 3,496 Último mensaje 7 Diciembre 2016, 03:31 am
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines