Foros del Web » Programación para mayores de 30 ;) » Java »

Programa java.

Estas en el tema de Programa java. en el foro de Java en Foros del Web. Hola, Estaba haciendo un programa de java que tiene como finalidad leer una matriz eliminar los ceros y poner la nueva matriz sin ceros en ...
  #1 (permalink)  
Antiguo 25/02/2016, 08:01
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 4 meses
Puntos: 0
Programa java.

Hola,

Estaba haciendo un programa de java que tiene como finalidad leer una matriz
eliminar los ceros y poner la nueva matriz sin ceros en una nueva matriz de forma
ordenada.

Código HTML:
public class Nums {

	public static void main(String[] args) {
		int[][] tabla = { { 7, 0, 2, 1, 0, 1 }, { 3, 0, 0, 2 }, { 7, 9, 0 },
				{ 6, 5, 0, 1, 0, 2, 0 } };
		int[] tablasinceros = new int[30];
		int i, j, x = 0;

		for (i = 0; i < tabla.length; i++) {
			for (j = 0; j < tabla[i].length; j++) {
				if (tabla[i][j] != 0) {
					tablasinceros[x] = tabla[i][j];
					x++;
				}

			}

		}

		for (i = 0; i < tablasinceros.length; i++) {
			System.out.println(tablasinceros[i]);
			if (tablasinceros[i + 1] == 0) {
				break;
			}
		}
	}
}
Cuando compilo por consola sale lo siguiente.

7
2
1
1
3
2
7
9
6
5
1
2

Me gustaría que me entregara el resultado de esta forma.

7211
32
79
6512

Gracias de antemano. Un saludo.
  #2 (permalink)  
Antiguo 25/02/2016, 10:51
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Programa java.

Buenas,

La unica forma es que al crear el array unidimensional le indique donde quieres que vayan los saltos de linea:


Código Java:
Ver original
  1. for (i = 0; i < tabla.length; i++) {
  2.             for (j = 0; j < tabla[i].length; j++) {
  3.                 if (tabla[i][j] != 0) {
  4.                     tablasinceros[x++] = tabla[i][j];
  5.                 }
  6.  
  7.             }
  8.                          tablasinceros[x++] = -1; //Salto de linea
  9.         }
  10.  
  11.         for (i = 0; i < tablasinceros.length; i++) {
  12.                         if (tablasinceros[i] < 0) {
  13.                             System.out.println("");
  14.                         } else {    
  15.                 System.out.print(tablasinceros[i]);
  16.                         }
  17.             if (tablasinceros[i + 1] == 0) {
  18.                 break;
  19.             }
  20.         }

(lo he modificado directamente sobre tu codigo en el formulario por lo que puede haber alguna errata)


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 25/02/2016, 14:03
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Programa java.

Muchas gracias =)

Etiquetas: programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:47.