Matrices
Tengo un inconveniente. Debo pedir al usuario dos valores para el tamaño de la matriz MxN ejemplo 3 y 4, que ingrese los datos para cada posición y muestre en pantalla la matriz original y la matriz invertida al igual que sus contenidos Ej:
M = 2 filas
N = 3 columnas
fila 1 [0]=5, [1]= 4, [2] = 2 quedaria 5,4,2
fila 2 [0]=1, [1]=2, [2]=3 quedaria 1,2,3
El resultado debiera ser que muestre la matriz original de 2x3 osea:
5,4,2
1,2,3
Y la matriz y sus contenidos invertidos que quede de 3x2 así:
3,2
1,2
4,5
La aplicación me muestra la matriz original pero en la matriz invertida me muestra puros ceros. Te pego el código para que me colabores en lo que puedas aver que estoy haciendo mal. Por tu ayuda mil gracias.
import java.io.*;
public class AplicacionMatriz2
{
public static void main(String[] args) throws IOException
{
System.out.println("Ingrese el numero de Filas " );
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int num1 = Integer.parseInt(in.readLine());
System.out.println();
System.out.println("Ingrese el numero de Columnas " );
BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));
int num2 = Integer.parseInt(in2.readLine());
int arreglo[][] = new int[num1][num2];
int arreglo2[][] = new int[num2][num1];
// definiendo un objeto de entrada para tomar datos del teclado
System.out.println();
// pidiendo los datos del teclado
for (int i=0; i<arreglo.length; i++)
{
for (int j=0; j<arreglo[0].length; j++)
{
System.out.print("Ingrese elemento " + (i+1)+ " , " + (j+1) + " : ");
arreglo[j] = Integer.parseInt(in.readLine());
}
System.out.println();
}
for (int i=arreglo.length-1; i<0; i--)
{
for (int j=arreglo.length-1; j<0; j--)
{
arreglo2[arreglo.length-i-1][arreglo.length-j-1] = arreglo[j];
}
}
System.out.println("Matriz Original " + "\n");
//Se muestran los valores por renglon de la matriz original
for (int i=0; i<arreglo.length; i++)
{
for (int j=0; j<arreglo[0].length; j++)
{
System.out.print("" + arreglo[j] + " ");
}
System.out.println();
}
System.out.println();
System.out.println("Matriz Invertida " + "\n");
// Se muestran los valores por renglon de la matriz invertida
for (int i=0; i<arreglo2.length; i++)
{
for (int j=0; j<arreglo2[0].length; j++)
{
System.out.print("" + arreglo2[j] + " ");
}
System.out.println();
}
}
}
M = 2 filas
N = 3 columnas
fila 1 [0]=5, [1]= 4, [2] = 2 quedaria 5,4,2
fila 2 [0]=1, [1]=2, [2]=3 quedaria 1,2,3
El resultado debiera ser que muestre la matriz original de 2x3 osea:
5,4,2
1,2,3
Y la matriz y sus contenidos invertidos que quede de 3x2 así:
3,2
1,2
4,5
La aplicación me muestra la matriz original pero en la matriz invertida me muestra puros ceros. Te pego el código para que me colabores en lo que puedas aver que estoy haciendo mal. Por tu ayuda mil gracias.
import java.io.*;
public class AplicacionMatriz2
{
public static void main(String[] args) throws IOException
{
System.out.println("Ingrese el numero de Filas " );
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int num1 = Integer.parseInt(in.readLine());
System.out.println();
System.out.println("Ingrese el numero de Columnas " );
BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));
int num2 = Integer.parseInt(in2.readLine());
int arreglo[][] = new int[num1][num2];
int arreglo2[][] = new int[num2][num1];
// definiendo un objeto de entrada para tomar datos del teclado
System.out.println();
// pidiendo los datos del teclado
for (int i=0; i<arreglo.length; i++)
{
for (int j=0; j<arreglo[0].length; j++)
{
System.out.print("Ingrese elemento " + (i+1)+ " , " + (j+1) + " : ");
arreglo[j] = Integer.parseInt(in.readLine());
}
System.out.println();
}
for (int i=arreglo.length-1; i<0; i--)
{
for (int j=arreglo.length-1; j<0; j--)
{
arreglo2[arreglo.length-i-1][arreglo.length-j-1] = arreglo[j];
}
}
System.out.println("Matriz Original " + "\n");
//Se muestran los valores por renglon de la matriz original
for (int i=0; i<arreglo.length; i++)
{
for (int j=0; j<arreglo[0].length; j++)
{
System.out.print("" + arreglo[j] + " ");
}
System.out.println();
}
System.out.println();
System.out.println("Matriz Invertida " + "\n");
// Se muestran los valores por renglon de la matriz invertida
for (int i=0; i<arreglo2.length; i++)
{
for (int j=0; j<arreglo2[0].length; j++)
{
System.out.print("" + arreglo2[j] + " ");
}
System.out.println();
}
}
}
3 respuestas
Respuesta de jruben
1
Respuesta de goblin_ax
1
Respuesta de rpbviso
1
@victormanjarresparte 1 del codigoimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;throws IOException { System.out.println("Ingrese el numero de Filas "); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int num1 = Integer.parseInt(in.readLine()); System.out.println(); System.out.println("Ingrese el numero de Columnas "); BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));int num2 = Integer.parseInt(in2.readLine()); int arreglo[][] = new int[num1][num2]; int arreglo2[][] = new int[num2][num1];// definiendo un objeto de entrada para tomar datos del teclado - Víctor Manjarres
segunda parte del codigoSystem.out.println();// pidiendo los datos del teclado for (int i = 0; i < arreglo.length; i++) {for (int j = 0; j < arreglo[0].length; j++) { System.out.print("Ingrese elemento en la posicion " + (i) + " , " + (j) + " : "); arreglo[i][j] = Integer.parseInt(in.readLine()); } System.out.println(); } System.out.println("Matriz Original " + "\n");//Se muestran los valores por renglon de la matriz original for (int i = 0; i < arreglo.length; i++) { for (int j = 0; j < arreglo[0].length; j++) { System.out.print("" + arreglo[i][j] + " "); } System.out.println(); } System.out.println(); }} - Víctor Manjarres