Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: drkos en 20 de Noviembre 2014, 15:07
-
Buenas gente, recurro al foro porque estoy trabadísimo con un tema que necesito solucionar. Repasé todas las formas condicionales, inclusive la posibilidad de utilizar recursividad, y no hay manera de que logre realizar lo que necesito. Básicamente tengo que crear una matriz (el tamaño ahora no importa, aunque yo estoy probando con una chica de 3x3) e ingresar en sus campos datos de tipo int randomizados (preferentemente entre 1 y 3). La cuestión es que al mismo tiempo tengo que condicionar el ingreso, ya que necesito que en ciertos campos se ingresen si o si determinados números y en otros que no se ingrese alguno de ellos.
Alguien tiene alguna idea de como demonios podría implementar algo así? Probé con if, while, recursividad.....nada me permite rehacer la matriz hasta que se cumplan las condiciones que yo le paso dentro de las estructuras.
Cualquier ayuda será bienvenida.
Gracias!
Saludos!!!
-
LO LOGRE!!!! La concha de la lora jajajaja, me había equivocado en el orden de la matriz, no puedo creer que fuese tan tarado, tenía bien el código.
Gracias igual!!!!
-
Hola, pega por favor el código... de esa manera ayudas a otros compañeros que quieran hacer algo parecido. Saludos ;)
-
public void CreacionMatriz(){
matriz=new int[3][3];
Random rand=new Random();
for (int k=0;k<matriz.length;k++){
for (int f=0;f<matriz.length;f++){
matriz[f][k]=rand.nextInt(3)+1;
}
}
if (!correcta(matriz)){
CreacionMatriz();
} else {
imprimirMatriz(matriz);
System.out.println();
}
}
public boolean correcta(int[][] matriz){
if (matriz[0][0]!=1 || matriz[0][1]==1 || matriz[0][2]==3 || matriz[1][0]==3 || matriz[1][1]!=2 || matriz[1][2]==2 || matriz[2][0]!=3 || matriz[2][1]!=1 || matriz[2][2]!=3){
return false;
} else return true;
}
public void imprimirMatriz(int[][] matriz){
for (int k=0;k<matriz.length;k++){
for (int f=0;f<matriz.length;f++){
System.out.print(matriz[f][k]+" ");
}
System.out.println();
}
}
-
Gracias ;)