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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  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 18,280 veces)
:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


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


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

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 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.
carlitos.dll

Desconectado Desconectado

Mensajes: 266



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

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



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

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 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.
v.antrax

Desconectado Desconectado

Mensajes: 7


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

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 pm »

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


Desconectado Desconectado

Mensajes: 1.744


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


Ver Perfil WWW
Re: Ejercicios simples en Java
« Respuesta #5 en: 25 Julio 2008, 23:13 pm »

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 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.
:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


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


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

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
  1. public class m_1
  2. {
  3.  public static void main(String jorge [])
  4.  {
  5. int n,m_matriz[][],cont,aux;
  6. n=5; aux=0;cont=1;
  7. m_matriz[][]= new int [n][n];
  8.  
  9. for(int fil=n-1;fil >=0 ;fil--)
  10. {
  11.   for(int col= aux ; col< n ; col++ )
  12.   {
  13.  
  14. m_matriz[fil][col]=cont;
  15. cont ++;
  16.   }
  17.  
  18.            cont=1;
  19.    aux++;
  20.  
  21. }
  22.        // mostrar matriz
  23. for(int fil=0;fil <n ;fil++)
  24. {
  25.   for(int col= 0 ; col < n ; col++ )
  26.   {
  27.  
  28. System.out.print(\t m_matriz[fil][col]);
  29.   }
  30.  
  31. }
  32.  
  33.  }
  34.  
  35. }

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

Código
  1. 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
  1.        int n,m_matriz[][],cont,aux;
  2. n=5; aux=0;cont=1;
  3. m_matriz = new int [n][n];
  4.  

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
  1. for(int fil=n-1;fil >=0 ;fil--)
  2. {
  3.   for(int col= aux ; col< n ; col++ )
  4.   {
  5.  
  6. m_matriz[fil][col]=cont;
  7. cont ++;
  8.   }
  9.  
  10.            cont=1;
  11.    aux++;
  12.  
  13. }
  14.  

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
  1. 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
  1. // mostrar matriz
  2. for(int fil=0;fil <n ;fil++)
  3. {
  4.   for(int col= 0 ; col < n ; col++ )
  5.   {
  6.  
  7. System.out.print("\t" + m_matriz[fil][col]);
  8.   }
  9.  
  10. }
  11.  

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

Código
  1. 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 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.
carlitos.dll

Desconectado Desconectado

Mensajes: 266



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

Quedo debiendo el método main()

Código
  1. /**
  2.  * MatrizCuadrada.java
  3.  *
  4.  * @author CarlitoS.dll
  5.  * @version 25-07-2008
  6.  */
  7. public class MatrizCuadrada
  8. {
  9.    private int[][] matriz;
  10.  
  11.    /**
  12.      * Constructor sin parámetros
  13.      */
  14.    public MatrizCuadrada()
  15.    {
  16.        this(5);
  17.    }
  18.  
  19.    /**
  20.      * Constructor con parámetros
  21.      */
  22.    public MatrizCuadrada(int tamaño)
  23.    {
  24.        if (tamaño > 0)
  25.        {
  26.            llenarMatrizCuadrada(tamaño);
  27.        }
  28.        else
  29.        {
  30.            System.out.println("El  tamaño mínimo de la matriz cuadrada es 1.");
  31.        }
  32.    }
  33.  
  34.  
  35.    /**
  36.      * Método accesador de la matriz
  37.      * @return Devuelve una matriz cuadrada
  38.      */
  39.    public int[][] getMatriz()
  40.    {
  41.        return matriz;
  42.    }
  43.  
  44.  
  45.    /**
  46.      * Método de acceso privado que crea la matriz
  47.      * @param Recibe un int para el tamaño de la matriz
  48.      */
  49.    private void llenarMatrizCuadrada(int tamaño)
  50.    {
  51.        matriz = new int[tamaño][tamaño];
  52.  
  53.  
  54.        /* For para recorrer las filas */
  55.        for (int indiceFilas = tamaño -1; indiceFilas >= 0; indiceFilas--)
  56.        {
  57.            int posicion = indiceFilas + 1;
  58.  
  59.            /*For para recorrer las columnas */
  60.            for (int indiceColumnas = tamaño -1; indiceColumnas >= 0; indiceColumnas--)
  61.            {
  62.                matriz[indiceFilas][indiceColumnas] = posicion >= 0 ? posicion : 0;
  63.                posicion--;
  64.            }
  65.        }
  66.    }
  67.  
  68. }
  69.  
  70.  
« Última modificación: 26 Julio 2008, 01:45 am por carlitos.dll » 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: Ejercicios simples en Java
« Respuesta #8 en: 26 Julio 2008, 02:28 am »

:D

Resultado:

Código
  1. /**
  2.  * MatrizCuadrada.java
  3.  *
  4.  * @author CarlitoS.dll
  5.  * @version 25-07-2008
  6.  */


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 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.
:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


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


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

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 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.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicios + soluciones en java « 1 2 3 »
Java
bengy 25 24,623 Último mensaje 14 Septiembre 2011, 19:01 pm
por bengy
Ejercicios prácticos Java « 1 2 »
Java
Superplay 13 9,632 Último mensaje 8 Noviembre 2011, 15:35 pm
por Superplay
ejercicios con metodos java
Java
mq1024 9 11,775 Último mensaje 20 Marzo 2012, 15:38 pm
por Lerinor
Ejercicios java de consola
Java
shei 2 3,002 Último mensaje 10 Mayo 2012, 01:17 am
por bengy
ayuda con estos dos simples ejercicios de C++ :(
Programación C/C++
xboxone007 1 3,822 Último mensaje 2 Diciembre 2013, 14:44 pm
por dato000
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines