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:10  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Ejercicios simples en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicios simples en Java  (Leído 6,105 veces)
ohk


Desconectado Desconectado

Mensajes: 1.577


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


Ver Perfil WWW
Ejercicios simples en Java
« en: 25 Julio 2008, 22:03 »

Hola Foro

Voy a lanzar un ejercicio y esperar a quien lo resuelva y al final del plazo voy a resolverlo con una breve explicación. (Ruego por la aprovación del Moderador de este Foro)

Los ejercicios no son muy dificiles, ya que es mas para ayudar y orientar a los mas novatos.

DATOS

Objetivo: Para los novatos, desarrollar Lógica.

Utilizando el Lenguaje de Programación Java, genere la siguiente matriz:

Matriz 1

   0  0  0  0  1
   0  0  0  1  2
   0  0  1  2  3
   0  1  2  3  4
   1  2  3  4  5

La matriz debe generarse dependiendo el número que el usuario asigne:
Si el usuario asigna 5, debe generarse una matriz de 5 por 5 como la que se ve en el primer ejemplo, en caso de ser 4, debe generar una Matriz de 4 por 4:

   0  0  0  1
   0  0  1  2
   0  1  2  3
   1  2  3  4

El codigo debe ser expuesto y debidamente comentado en el hilo dentro de las etiquetas Code.
El plazo para resolver esta ejercicio es de 8 días. Luego de ese tiempo, pasaré a mostrar el ejercicio resuelto.

En caso de que el ejercicio sea resuelto en menos de 2 días se proseguira a plantear un nuevo ejercicio, bajo este mismo hilo o en un nuevo post, dependiendo si la situación lo amerita.

Un saludo y a Programar :D

OHK


En línea

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

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Ejercicios simples en Java
« Respuesta #1 en: 25 Julio 2008, 22:42 »

pregunta: ¿se debe realizar solo el método que crea la matriz, o también el método main()?



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: Ejercicios simples en Java
« Respuesta #2 en: 25 Julio 2008, 22:54 »

Yo creo que el main() lo vas a usar vos mientras pruebas lo que hiciste, yo no voy a necesitarlo, puedo hacer mi clase y llamar a tu metodo, pero... te recuerdo que este ejercicio tiene como fin ayudar a los mas novatos.

Osea que es mejor si posteamos todo sin falta.
Un saludo

OHK
En línea

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

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Ejercicios simples en Java
« Respuesta #3 en: 25 Julio 2008, 23:05 »

E Aqui tienes el pequeño programa en codigo.. bye..


Código:
public class m_1
{
  public static void main(String jorge [])
  {
  int n,m_matriz[][],cont,aux;
n=5; aux=0;cont=1;
m_matriz[][]= new int [n][n];

for(int fil=n-1;fil >=0 ;fil--)
{
   for(int col= aux ; col< n ; col++ )
   {

m_matriz[fil][col]=cont;
cont ++;
   }
   
            cont=1;
    aux++;
   
}
        // mostrar matriz
for(int fil=0;fil <n ;fil++)
{
   for(int col= 0 ; col < n ; col++ )
   {

System.out.print(\t m_matriz[fil][col]);
   }
   
}

  }

}
En línea
v.antrax

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Ejercicios simples en Java
« Respuesta #4 en: 25 Julio 2008, 23:08 »

Yo creo que el main() lo vas a usar vos mientras pruebas lo que hiciste, yo no voy a necesitarlo, puedo hacer mi clase y llamar a tu metodo, pero... te recuerdo que este ejercicio tiene como fin ayudar a los mas novatos.

Osea que es mejor si posteamos todo sin falta.
Un saludo

OHK

Mejor que lo muestre todo el programa no crees es las facil
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: Ejercicios simples en Java
« Respuesta #5 en: 25 Julio 2008, 23:13 »

E Aqui tienes el pequeño programa en codigo.. bye..


Código:
public class m_1
{
  public static void main(String jorge [])
  {
  int n,m_matriz[][],cont,aux;
n=5; aux=0;cont=1;
m_matriz[][]= new int [n][n];

for(int fil=n-1;fil >=0 ;fil--)
{
   for(int col= aux ; col< n ; col++ )
   {

m_matriz[fil][col]=cont;
cont ++;
   }
   
            cont=1;
    aux++;
   
}
        // mostrar matriz
for(int fil=0;fil <n ;fil++)
{
   for(int col= 0 ; col < n ; col++ )
   {

System.out.print(\t m_matriz[fil][col]);
   }
   
}

  }

}

Tu codigo me ha generado 2 Errores
Código:
System.out.print(\t m_matriz[fil][col]);

debería ser asi:

Código:
System.out.print("\t" + m_matriz[fil][col]);



Código:
m_matriz[][]= new int [n][n];

debería ser asi:

Código:
m_matriz = new int [n][n];



Ahora bien, los resultados no son los esperados.
0       1       2       3       4       1       2       3       4       5

No es lo que había pedido.
Gracias por Intentar
En la brevedad posible voy a explicar que hiciste en tu codigo.

Un saludo

OHK

Advertencia - mientras estabas leyendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
En línea

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


Desconectado Desconectado

Mensajes: 1.577


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


Ver Perfil WWW
Re: Ejercicios simples en Java
« Respuesta #6 en: 25 Julio 2008, 23:34 »

La respuesta ha roto con el objetivo de este ejercicio ya que no muestra ningún tipo de comentario ni ayuda.

De todas formas voy a tratar de interpretarlo.

Código
public class m_1
{
 public static void main(String jorge [])
 {
int n,m_matriz[][],cont,aux;
n=5; aux=0;cont=1;
m_matriz[][]= new int [n][n];
 
for(int fil=n-1;fil >=0 ;fil--)
{
  for(int col= aux ; col< n ; col++ )
  {
 
m_matriz[fil][col]=cont;
cont ++;
  }
 
           cont=1;
   aux++;
 
}
       // mostrar matriz
for(int fil=0;fil <n ;fil++)
{
  for(int col= 0 ; col < n ; col++ )
  {
 
System.out.print(\t m_matriz[fil][col]);
  }
 
}
 
 }
 
}

Como se puede apreciar le ha dado un nombre no muy significativo, pero por ahora eso es lo de menos.

Código
public static void main(String jorge [])

Aqui inicializamos en metodo principal denominado main();
El metodo main es el cerebro de cualquier aplicación en Java...
Para mas información sobre este metodo visite este link.

Código
        int n,m_matriz[][],cont,aux;
n=5; aux=0;cont=1;
m_matriz = new int [n][n];
 

En estas 3 lineas de codigo ha definido sus variables de tipo int (entero) en la primera linea:
en la segunda linea le ha asignado un valor inicial:
en la tercera linea a inicializado la matriz new int [][].

Código
for(int fil=n-1;fil >=0 ;fil--)
{
  for(int col= aux ; col< n ; col++ )
  {
 
m_matriz[fil][col]=cont;
cont ++;
  }
 
           cont=1;
   aux++;
 
}
 

En la primera linea a iniciado el conteo de una variable utilizando el for, esto para recorrer por la matriz. Como pueden ver el valor inicial empieza en el numero maximo introducido y descuenta conforme a las condiciones.

en la sexta linea
Código
m_matriz[fil][col]=cont;
esta dando un valor numérico a la posición donde se encuentra la matriz, utilizando el valor que tiene la variable cont en ese instante.

Y luego en la siguiente linea incrementa su contador.
Recordemos que es una forma válida de incrementar un contador. variable++

Código
// mostrar matriz
for(int fil=0;fil <n ;fil++)
{
  for(int col= 0 ; col < n ; col++ )
  {
 
System.out.print("\t" + m_matriz[fil][col]);
  }
 
}
 

En estas lineas de codigo como lo comentado indica, se esta imprimiendo en pantalla el resultado de el recorrido de la matriz.

Código
System.out.print("\t" + m_matriz[fil][col]);

Recordemos que para la concatenación necesitamos utilizar el simbolo '+'
Un saludo, espero que el codigo este mas claro, a pesar de que no cumple con lo solicitado.

OHK
En línea

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

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Ejercicios simples en Java
« Respuesta #7 en: 26 Julio 2008, 01:35 »

Quedo debiendo el método main()

Código
/**
* MatrizCuadrada.java
*
* @author CarlitoS.dll
* @version 25-07-2008
*/

public class MatrizCuadrada
{
   private int[][] matriz;
 
   /**
    * Constructor sin parámetros
    */

   public MatrizCuadrada()
   {
       this(5);
   }
 
   /**
    * Constructor con parámetros
    */

   public MatrizCuadrada(int tamaño)
   {
       if (tamaño > 0)
       {
           llenarMatrizCuadrada(tamaño);
       }
       else
       {
           System.out.println("El  tamaño mínimo de la matriz cuadrada es 1.");
       }
   }
 
 
   /**
    * Método accesador de la matriz
    * @return Devuelve una matriz cuadrada
    */

   public int[][] getMatriz()
   {
       return matriz;
   }
 
 
   /**
    * Método de acceso privado que crea la matriz
    * @param Recibe un int para el tamaño de la matriz
    */

   private void llenarMatrizCuadrada(int tamaño)
   {
       matriz = new int[tamaño][tamaño];
 
 
       /* For para recorrer las filas */
       for (int indiceFilas = tamaño -1; indiceFilas >= 0; indiceFilas--)
       {
           int posicion = indiceFilas + 1;
 
           /*For para recorrer las columnas */
           for (int indiceColumnas = tamaño -1; indiceColumnas >= 0; indiceColumnas--)
           {
               matriz[indiceFilas][indiceColumnas] = posicion >= 0 ? posicion : 0;
               posicion--;
           }
       }
   }
 
}
 
 
« Última modificación: 26 Julio 2008, 01:45 por carlitos.dll » 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: Ejercicios simples en Java
« Respuesta #8 en: 26 Julio 2008, 02:28 »

:D

Resultado:

Código
/**
* MatrizCuadrada.java
*
* @author CarlitoS.dll
* @version 25-07-2008
*/


54321
43210
32100
21000
10000


 :P, demos 1 día mas, para ver que dicen los demas.
En hora buena, aunque el resultado esta invertido  :P

Voy a hecharle un ojo a tu codigo.
Mientras aprovecha en postear el Main();

Un saludo

OHK
En línea

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


Desconectado Desconectado

Mensajes: 1.577


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


Ver Perfil WWW
Re: Ejercicios simples en Java
« Respuesta #9 en: 31 Julio 2008, 02:55 »

mm, no le veo mucho futuro a seguir esperando mas respuestas  :¬¬

Mejor lanzamos el siguiente ejercicio:

Bajo las bases ya propuestas en el principio del hilo, realizar la siguiente Matriz Caracol de n X n


5 x 5


     1    2    3    4    5

     16  17  18  19   6

     15  24  25  20   7

     14  23  22  21   8

     13  12  11  10   9


4 x 4

     1    2    3    4

     12  13  14   5

     11  16  15   6

     10  9    8     7


Un saludo y suerte.
En línea

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


Desconectado Desconectado

Mensajes: 1.577


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


Ver Perfil WWW
Re: Ejercicios simples en Java
« Respuesta #10 en: 10 Agosto 2008, 06:24 »

 :¬¬ :¬¬

será que esta muy dificil?
mmm, o es que no hay muchos programadores bajo Java interesados en practicar un poco...  :P

Bueno, lo dejo 2 días mas y luego lo resuelvo.

Un saludo

OHK
En línea

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


Desconectado Desconectado

Mensajes: 1.577


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


Ver Perfil WWW
Re: Ejercicios simples en Java
« Respuesta #11 en: 15 Agosto 2008, 05:46 »


 Matriz Caracol de n X n


5 x 5


     1    2    3    4    5

     16  17  18  19   6

     15  24  25  20   7

     14  23  22  21   8

     13  12  11  10   9


4 x 4

     1    2    3    4

     12  13  14   5

     11  16  15   6

     10  9    8     7


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
}
 

Java
Un saludo

OHK
En línea

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


Desconectado Desconectado

Mensajes: 1.577


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


Ver Perfil WWW
Re: Ejercicios simples en Java
« Respuesta #12 en: 15 Agosto 2008, 05:48 »

Supongo que con esto terminamos este hilo, ya que no veo usuarios con interes en resolver los ejercicios.  :¬¬

Nos vemos

Un saludo

OHK
En línea

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

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Ejercicios simples en Java
« Respuesta #13 en: 23 Agosto 2008, 09:11 »

Jje... llegue tarde... :P

Fijate en el método main(), hay un leve error... no sé si lo has puesto apropósito o no... pero hay un error...

Además... la salida no es la que buscas... haces la inversa a la que haces mención... :P

Código
	1	16	15	14	13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9

Aún asi, buen code... :D

Pero pienso que en el método main(), se podrían hacer un poco menos de lineas de código...

Código
public static void main(String[] args)
{
   int man[][] =new int[1000][1000];
   int n=5, m=5;
   ....
}
 

Saludos
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: Ejercicios simples en Java
« Respuesta #14 en: 24 Agosto 2008, 03:48 »

y si, hoy en día se hace de todo para reducir las líneas de código, usar la recursividad ya es muy común para resolver esta tipo de ejercicios.

mirad:

      1  1  1  1  1
      1  2  2  2  2
      1  2  4  4  4
      1  2  4  8  8
      1  2  4  8  16

Se debe resolver de forma recursiva.
Los parámetros de entrada, pueden ser, según su análisis.

int fila, int col, int contador, int mat[][]

Creo que no esta muy difícil, y este tipo de ejercicios ayuda mucho a desarrollar lógica.

Un saludo

OHK
En línea

Y es que a veces pienso, que si no estubiera loco, no podría salir adelante.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejercicios Recursivos en Java y sus Soluciones « 1 2 3 »
Ejercicios
ohk 38 135,551 Último mensaje 4 Diciembre 2011, 23:13
por ato2112
ejercicios + soluciones en java « 1 2 »
Java
bjpenn 25 5,608 Último mensaje 14 Septiembre 2011, 19:01
por bjpenn
Ejercicios en JAVA
Ejercicios
madpitbull_99 8 5,031 Último mensaje 13 Marzo 2012, 02:27
por Audioslave™
Ejercicios prácticos Java
Java
Superplay 13 1,660 Último mensaje 8 Noviembre 2011, 15:35
por Superplay
ejercicios con metodos java
Java
mq1024 9 1,005 Último mensaje 20 Marzo 2012, 15:38
por Lerinor
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines