10/12/2013, 09:23
|
| | Fecha de Ingreso: diciembre-2013
Mensajes: 36
Antigüedad: 11 años, 1 mes Puntos: 1 | |
Respuesta: Matrices en java en base a lo anterior, intento borrar la columna de este modo:
Código:
public static int[][] quitaColumna(int [][]m, int n){
Scanner teclado=new Scanner (System.in);
int c;
System.out.print("\n");
System.out.println("Que columna desea eliminar.");
c=teclado.nextInt();
c=c-1;
int[][] destino = new int[m.length][n - 1];
int i, j;
for (i = 0; i < m.length; i++) {
for (j = 0; j < n; j++) {
if(j!=c)
destino[i][j] = m[i][j];
}
}
return destino;
}
Codigo completo:
Código:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package eliminafilamatriz;
import java.util.*;
/**
*
* @author Joan
*/
public class EliminaFilaMatriz {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
int n=0, m=0;
System.out.println("Filas que tendrá la matriz.");
n=teclado.nextInt();
System.out.println("Columnas que tendrá la matriz.");
m=teclado.nextInt();
int[][] mxn = new int[n][m];
int[][] destino = new int[mxn.length - 1][];
int[][] destino2 = new int[destino.length][m-1];
introMatriz(mxn, n, m);
muestraMatriz(mxn);
destino=quitaFila(mxn);
muestraMatriz(destino);
destino2=quitaColumna(destino,m);
muestraMatriz(destino2);
}
public static void introMatriz(int [][]mxn, int n, int m){
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
mxn[i][j] = (int)(Math.random()*9 + 1);
}
}
}
public static void muestraMatriz(int [][]m){
int i, j;
for(i=0;i<m.length;i++) {
System.out.print("\n");
for(j=0;j<m[i].length;j++){
System.out.print(m[i][j]+" ");
}
}
System.out.print("\n");
}
public static int[][] quitaFila(int [][]m){
Scanner teclado=new Scanner (System.in);
int f;
System.out.print("\n");
System.out.println("Que fila desea eliminar.");
f=teclado.nextInt();
f=f-1;
int[][] destino = new int[m.length - 1][];
int j=0;
for(int i=0;i<m.length;i++){
if(i!=f){
System.arraycopy(m, i, destino, j, 1);
j++;
}
}
return destino;
}
public static int[][] quitaColumna(int [][]m, int n){
Scanner teclado=new Scanner (System.in);
int c;
System.out.print("\n");
System.out.println("Que columna desea eliminar.");
c=teclado.nextInt();
c=c-1;
int[][] destino = new int[m.length][n - 1];
int i, j;
for (i = 0; i < m.length; i++) {
for (j = 0; j < n; j++) {
if(j!=c)
destino[i][j] = m[i][j];
}
}
return destino;
}
}
Última edición por SilverDante; 10/12/2013 a las 10:04 |