elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda  (Leído 3,660 veces)
maryu 1989

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda
« en: 3 Mayo 2010, 05:32 am »

Escribir una aplicación llamado AplicacionMatriz2 que pida dos números M y N y que después pida los elementos de una matriz de M renglones por N columnas, y que a partir de esta genere y despliegue otra matriz de N renglones por M columnas, donde cada elemento de la nueva matriz estará al revés que en la matriz original. La aplicación debe funcionar como se ve en la gráfica:

matriz original

1 2 3 4
5 6 7 8
9 10 11 12

matriz al reves

12 11 10
9    8    7
6    5    4
3    2    1

esto es lo que tengo no se que hacer


import java.io.*;

public class AplicacionMatriz2 {

    public static void main(String[] args) throws IOException {

        // definiendo un objeto de entrada para tomar datos del teclado
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Da Cuantos Reglones: ");
        int m = Integer.parseInt(in.readLine());
        System.out.print("Da Cuantas Columnas: ");
        int n = Integer.parseInt(in.readLine());
        int a[][] = new int[m][n];
        int b[][] = new int [n][m] ;
       
        // pidiendo los datos del teclado de la matriz m
        System.out.println("Pidiendo Valores Matriz A");

        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[0].length; j++) {
                System.out.print("Da elemento " + (i + 1) + " , " + (j + 1) + " : ");
                a[j] = Integer.parseInt(in.readLine());
            }
            System.out.println();
        }

        //desplegando la matriz a

        System.out.println("Matriz Original");
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[0].length; j++) {
                System.out.print(" " + a[j] + " ");
            }
            System.out.println();
        }
        System.out.println();

        System.out.println("Matriz Original");
        for (int i = 0; i < b.length; i++) {
            for (int j = 0; j < b[0].length; j++) {
                b[j]=b[a.length-i-i][a.length-i-j];
                System.out.print(" " + b[j] + " ");
            }
            //System.out.println();
        }
        //System.out.println();
       
    }
}


En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: ayuda
« Respuesta #1 en: 3 Mayo 2010, 06:39 am »

Toma este metodo que hice pasale la matriz la cantidad maxima de columnas y filas y te retornara la matriz al revés.

   
Código
  1. /**
  2. * @param matriz
  3. * @param maxColumn
  4. * @param maxRows
  5. *
  6. * @return
  7. */
  8. public static int[][] proc(int [][]matriz,int maxColumn,int maxRows){
  9. int Tmatriz[][] = new int[maxColumn][maxRows];
  10. int j1=maxColumn-1;
  11. for(int indexColumn=0;indexColumn<maxColumn;indexColumn++){
  12. for(int indexRows=maxRows-1,j=0;indexRows>=0;indexRows--){
  13. Tmatriz[j1][j]=matriz[indexColumn][indexRows];
  14. j++;
  15. }j1--;
  16. }
  17. return Tmatriz;
  18. }
  19.  

Un Saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines