Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/12/2013, 09:23
SilverDante
 
Fecha de Ingreso: diciembre-2013
Mensajes: 36
Antigüedad: 10 años, 5 meses
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