Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > submatriz dentro de un amatriz

hola

tengo un inconveniente me piden crear una matriz 9*9 que cargue números aleatoria mente,despues dividirla en submatricez, y en cada submatricez escoger el numero del centro, y es q no entiendo mucho de java agradeceria si alguien me podria asesorar

agosto 27, 2013 | Registered Commentersubjovich

Buenas,

Esto realmente de Java tiene poco. Seria igual en cualquier lenguaje.
No te han especificado en el ejercicio que tipo de submatrices tienes que generar? cuadradas? de que tamano?
Que llevas hecho?. En que parte es en la que te pierdes?: crear y rellenar la matriz? crear las submatrices? escoger el valor del centro?


Un saludo,

agosto 27, 2013 | Unregistered CommenterUnoPorAhi

¿Es ésta tu principal dificultad: cómo crear y llenar una matriz con números aleatorios?

public class Array2DTest {

public static void main(String[] args) {

final int[][] matriz = new int[9][9];
final Random random = new Random();

for (int idx = 0; idx < 9; idx++) {
for (int idy = 0; idy < 9; idy++) {
matriz[idx][idy] = random.nextInt();
System.out.println("idx: " + idx + " idy: " + idy + " valor= " + matriz[idx][idy]);
}
}
}
}

agosto 27, 2013 | Registered Commenterchoces

Te sugiero que contestes con detalle a las preguntas que te ha hecho @UnoPorAhi, o cierro este hilo.

agosto 27, 2013 | Registered Commenterchoces

hola

listo lo que llevo hecho es esto y en si lo que me piden es que genere una matriz aleatorea de 9x9 y la divida en submatrices y dentro de cada submatriz diga cual es el numero del centro, en esa parte es que me pierdo y he buscado como hacer la pero no he encontrado mucha información.


/**
* @(#)Submatriz.java
*
* @author
* @version 1.00 2013/8/22
*/

import java.io.*;
public class Submatriz {

static int leerInt()
{
String s=" ";int dato=0;
try
{
BufferedReader bf=new
BufferedReader(new InputStreamReader(System.in));
s=bf.readLine();
dato=Integer.parseInt(s);
}

catch (IOException e){}
return dato;
}


public static int A[][];


public Submatriz(int m, int n)
{
A=new int[m][n];

}

public void cargar(int x[][], int s, int t)
{
for(int i=0,j;i<s;i++)
for(j=0;j<t;j++)
x[i][j]=(int)(Math.random()*10);
}

public void imprimir (int x[][],int s, int t){
for(int i=0,j;i<s;i++){
for(j=0;j<t;j++)
System.out.print("\t"+x[i][j]);
System.out.println();
}
System.out.println();
}
public static void main(String args[])
{
int m,n;

System.out.print("Nº filas de la matriz a: ");
m=leerInt();
System.out.print("Nº columnas de la matriz a: ");
n=leerInt();


Submatriz obmm = new Submatriz(m,n);

obmm.cargar(A,m,n);
System.out.println("Matriz A: ");
obmm.imprimir(A,m,n);

}

}

agosto 27, 2013 | Unregistered Commenterjontatan

Sobre cómo rellenar una matriz con números aleatorios, ya tienes un ejemplo más arriba.
Supongo que, tratándose de una matriz cuadrada, te piden que la dividas de forma simple en 9 matrices cuadradas de tres elementos cada una.
En valor central de cada matriz te lo dan los índices x.y que sean iguales.

Creo que lo mejor sería que dibujases en papel una matriz de 9x9 con los índices x,y en los lados (recuerda que en Java los índices de los arrays empiezan en cero), para "ver" mejor lo que debes conseguir.

Divides esa matriz en cuadrados de 3 elementos, y ya tienes que ver el patrón sobre el que construir el método para extraer cada matriz de 3x3 y para obtener el central.

Resuelve el problema en el papel, y verás como lo pasas a código con facilidad.

agosto 27, 2013 | Registered Commenterchoces

Yo sigo sin entender. Vuelves a decir:


Y vuelvo a preguntar: en que parte te pierdes exactamente?

En el código que posteas no veo que estés creando una matriz de 9x9 sino que preguntas al usuario el tamaño de la matriz en filas y columnas y rellenas aleatoriamente.
Además, aunque la clase se llama Submatriz, no veo que en ningún momento intentes dividir en submatrices. Es eso lo que no sabes hacer y ni siquiera has intentado empezar? Por favor, si quieres respuestas concretas, se detallado. No podemos adivinar tu problema...

Un saludo,

agosto 27, 2013 | Unregistered CommenterUnoPorAhi

InfoThis thread has been locked.