• Lunes 29 de Abril de 2024, 01:00

Autor Tema:  problema con una matriz arreglo bidimensional  (Leído 3216 veces)

reymersa

  • Miembro activo
  • **
  • Mensajes: 29
  • Nacionalidad: ve
    • Ver Perfil
problema con una matriz arreglo bidimensional
« en: Miércoles 21 de Abril de 2010, 23:34 »
0
el problema es el siguiente amigos tengo q hacer el juego del submarino en consola el juego se trata de algo así hay una matriz de 3x3 con pos enumeradas del 1-9 el juego por si solo elije una pos random donde ocultar el submarino.. y el usuario tiene 3 oportunidades para encontrarlo la cosa es no puedo acceder a llos valores de la matriz osea creo la matriz pero nose como cargar los números dentro de ella y al imprimir solo me imprime 0 o direcciones de memoria. podrian decirme q estoy haciendo mal estoy usando el netbeans 6.8 como compilador  y soy principiante porfa ayuda dejo un ejemplo del code.

 
Código: Java
  1.  
  2. package proyecto1;
  3.  
  4. import java.io.*;
  5. import java.util.*;
  6.  
  7. public class Main {
  8.  
  9.     public static void main(String[] args) throws IOException {
  10.         InputStreamReader lector_entrada = new InputStreamReader(System.in);
  11.         BufferedReader buf = new BufferedReader(lector_entrada);
  12.  
  13.         int Fi, Co;
  14.         int Opc;
  15.         int[][] mat;
  16.         mat = new int[3][3];
  17. //---------------------------------Random
  18.         Random rand = new Random();
  19.         int x = rand.nextInt(9);
  20. //---------------------------------------
  21.  
  22.    System.out.println("El Submarino Esta en la Pos:  " + x);
  23.  
  24.  
  25.         for (Fi = 0; Fi < mat.length; Fi++) {
  26.             for (Co = 0; Co < mat.length; Co++) {
  27.                 //aqui nose como cargar la matriz
  28.                         }
  29.             }
  30.     }
  31. }
  32.  
  33.  
  34.  

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: problema con una matriz arreglo bidimensional
« Respuesta #1 en: Jueves 22 de Abril de 2010, 17:20 »
0
Algoritmia básica, compañero B) ......

Primero, para rellenar o iniciar la matriz (perdón si me equivoco, esto lo hago a memoria):
Código: Java
  1. for(Fi=0; Fi < mat.length; Fi++) {
  2.   for(Co=0; Co < mat[Fi].length; Co++) {
  3.     mat[Fi][Co] = 0;
  4.   }
  5. }
  6.  

Segundo, para determinar una posición, ceil (x / 3), donde 1 <= x <= 9, te da la fila de una matriz (un número en el rango de 1 a 3), y x % 3 te da la columna de una matriz (un número en el rango de 0 a 2, por si no conoces la operación es el famoso módulo, que es el cálculo del residuo de una división); por ejemplo, si el valor aleatorio te da 5, ceil(5/3)=2, eso te indica que el número está en la fila 2 contando las filas del 1 al 3, y 5%3=2, que te indica la columna 2, contando como el caso anterior (en caso de que el módulo sea 0, esa sería en realidad la posición 3); a partir de lo anterior, deduces que la posición 5 equivale a matriz[2][2], que en la práctica es matriz[1][1]. Esta lógica la puedes aplicar en el momento en que ubiques al submarino o para que el jugador determine la posición del mismo.

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Re: problema con una matriz arreglo bidimensional
« Respuesta #2 en: Viernes 23 de Abril de 2010, 03:32 »
0
Exelente esta muy bien  :good:

Código: C#
  1. package proyecto1;
  2.  
  3. import java.io.*;
  4. import java.util.*;
  5.  
  6. public class Main {
  7.  
  8.     public static void main(String[] args) throws IOException {
  9.         InputStreamReader lector_entrada = new InputStreamReader(System.in);
  10.         BufferedReader buf = new BufferedReader(lector_entrada);
  11.  
  12.         int Fi, Co;
  13.         int Opc;
  14.         int[][] mat;
  15.         mat = new int[3][3];
  16. //---------------------------------Random
  17.         Random rand = new Random();
  18.         int x = rand.nextInt(9);
  19. //---------------------------------------
  20.  
  21.    System.out.println("El Submarino Esta en la Pos:  " + x);
  22.  
  23.  
  24.         for (Fi = 0; Fi < mat.length; Fi++) {
  25.             for (Co = 0; Co < mat[Fi].length; Co++) {
  26.                         mat[Fi][Co] = 0;
  27.                         }
  28.             }
  29.     }
  30. }
  31.  
  32.  


Saludos