
Programa de Matrices (problema con estructura)
Publicado por Jorge (2 intervenciones) el 22/10/2013 07:46:43
Que tal, soy estudiante de Sistemas y tengo un problema con un programa ya que no estoy muy familiarizado con el lenguaje de Java.
Problema Juego de Ajedrez
El juego de ajedrez se juega en un tablero cuadriculado de 8 por 8.
en él, una torre ataca todas las posiciones en su mismo renglón o en su misma columna(incluyendo su posición en donde está)
Dado un tablero de ajedrez de N por M con algunas torres en él, nos interesa saber cuántas posiciones son atacas por las torres.
Por ejemplo, hay 3 torres de un tablero de 4x4 (T=3), estas tres torres atacan 12 posiciones y se indican con la letra A.
| - | - | - | T | | A | A | A | A |
| - | - | - | - | | - | - | A | A |
| - | - | - | - | | - | - | A | A |
| - | - | T | T | | A | A | A | A |
Especificaciones
La entrada consiste en un número entero N (con 1 <=N>=10) seguido de una matriz de N por N
de unos y ceros, esto se le tendrá que ir pidiendo al usuario valor por valor (cero o uno) de cada celda de la matriz.
Donde el 1 indica que hay una torre y el 0 indica una posición vacía.
La salida consiste de los dos números enteros T y A separados por un espacio.
_________________________________________________________________________
Este es mi código y podrán ver que es muy básico ya que no soy muy bueno en Java, pero necesito alguna asesoría. con la parte de reconocer los 1 y 0 para sumarlos.
import java.util.Scanner;
public class Ajedres{
public static void main(String[] args)
{
int matriz[][] = new int[8][8];
Scanner consola = new Scanner(System.in);
for (int x=0; x < matriz.length; x++) {
for (int y=0; y < matriz[x].length; y++)
{
System.out.println("Introduzca el elemento [" + x + "," + y + "]");
matriz[x][y] = consola.nextInt();
}
}
//Imprimir matriz
for (int x=0; x < matriz.length; x++)
{
for (int y=0; y < matriz[x].length; y++)
{
System.out.print(matriz[x][y]+ " ");
}
System.out.println(" ");
}
}
}
Problema Juego de Ajedrez
El juego de ajedrez se juega en un tablero cuadriculado de 8 por 8.
en él, una torre ataca todas las posiciones en su mismo renglón o en su misma columna(incluyendo su posición en donde está)
Dado un tablero de ajedrez de N por M con algunas torres en él, nos interesa saber cuántas posiciones son atacas por las torres.
Por ejemplo, hay 3 torres de un tablero de 4x4 (T=3), estas tres torres atacan 12 posiciones y se indican con la letra A.
| - | - | - | T | | A | A | A | A |
| - | - | - | - | | - | - | A | A |
| - | - | - | - | | - | - | A | A |
| - | - | T | T | | A | A | A | A |
Especificaciones
La entrada consiste en un número entero N (con 1 <=N>=10) seguido de una matriz de N por N
de unos y ceros, esto se le tendrá que ir pidiendo al usuario valor por valor (cero o uno) de cada celda de la matriz.
Donde el 1 indica que hay una torre y el 0 indica una posición vacía.
La salida consiste de los dos números enteros T y A separados por un espacio.
_________________________________________________________________________
Este es mi código y podrán ver que es muy básico ya que no soy muy bueno en Java, pero necesito alguna asesoría. con la parte de reconocer los 1 y 0 para sumarlos.
import java.util.Scanner;
public class Ajedres{
public static void main(String[] args)
{
int matriz[][] = new int[8][8];
Scanner consola = new Scanner(System.in);
for (int x=0; x < matriz.length; x++) {
for (int y=0; y < matriz[x].length; y++)
{
System.out.println("Introduzca el elemento [" + x + "," + y + "]");
matriz[x][y] = consola.nextInt();
}
}
//Imprimir matriz
for (int x=0; x < matriz.length; x++)
{
for (int y=0; y < matriz[x].length; y++)
{
System.out.print(matriz[x][y]+ " ");
}
System.out.println(" ");
}
}
}
Valora esta pregunta


0