Código Matrices

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 3

import java.util.

Scanner;

public class ejerciciomatricez {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.println("Operaciones con Matrices");


System.out.print("Ingrese el número de filas de las matrices: ");
int filas = scanner.nextInt();
System.out.print("Ingrese el número de columnas de las matrices: ");
int columnas = scanner.nextInt();

int[][] matrizA = new int[filas][columnas];


int[][] matrizB = new int[filas][columnas];
int escalar;

System.out.println("Ingrese los elementos de la matriz A:");


ingresarMatriz(scanner, matrizA);

System.out.println("Ingrese los elementos de la matriz B:");


ingresarMatriz(scanner, matrizB);

System.out.println("Ingrese un escalar para las operaciones: ");


escalar = scanner.nextInt();

System.out.println("Seleccione una operación:");


System.out.println("1. Suma de matrices");
System.out.println("2. Resta de matrices");
System.out.println("3. Multiplicación de matrices");
System.out.println("4. Multiplicación de un escalar por una matriz");
System.out.println("5. División de una matriz entre un escalar");

int opcion = scanner.nextInt();

int[][] resultado = null;

switch (opcion) {
case 1:
resultado = sumarMatrices(matrizA, matrizB);
break;
case 2:
resultado = restarMatrices(matrizA, matrizB);
break;
case 3:
resultado = multiplicarMatrices(matrizA, matrizB);
break;
case 4:
resultado = multiplicarPorEscalar(matrizA, escalar);
break;
case 5:
resultado = dividirPorEscalar(matrizA, escalar);
break;
default:
System.out.println("Opción no válida");
break;
}

if (resultado != null) {
System.out.println("Resultado:");
imprimirMatriz(resultado);
}

scanner.close();
}

private static void ingresarMatriz(Scanner scanner, int[][] matriz) {


for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[0].length; j++) {
System.out.print("Elemento (" + (i + 1) + "," + (j + 1) + "): ");
matriz[i][j] = scanner.nextInt();
}
}
}

private static int[][] sumarMatrices(int[][] matrizA, int[][] matrizB) {


int filas = matrizA.length;
int columnas = matrizA[0].length;
int[][] resultado = new int[filas][columnas];

for (int i = 0; i < filas; i++) {


for (int j = 0; j < columnas; j++) {
resultado[i][j] = matrizA[i][j] + matrizB[i][j];
}
}
return resultado;
}

private static int[][] restarMatrices(int[][] matrizA, int[][] matrizB) {


int filas = matrizA.length;
int columnas = matrizA[0].length;
int[][] resultado = new int[filas][columnas];

for (int i = 0; i < filas; i++) {


for (int j = 0; j < columnas; j++) {
resultado[i][j] = matrizA[i][j] - matrizB[i][j];
}
}
return resultado;
}

private static int[][] multiplicarMatrices(int[][] matrizA, int[][] matrizB) {


int filasA = matrizA.length;
int columnasA = matrizA[0].length;
int filasB = matrizB.length;
int columnasB = matrizB[0].length;

if (columnasA != filasB) {
System.out.println("No se pueden multiplicar las matrices. El número de
columnas de A debe ser igual al número de filas de B.");
return null;
}

int[][] resultado = new int[filasA][columnasB];

for (int i = 0; i < filasA; i++) {


for (int j = 0; j < columnasB; j++) {
int suma = 0;
for (int k = 0; k < columnasA; k++) {
suma += matrizA[i][k] * matrizB[k][j];
}
resultado[i][j] = suma;
}
}
return resultado;
}

private static int[][] multiplicarPorEscalar(int[][] matriz, int escalar) {


int filas = matriz.length;
int columnas = matriz[0].length;
int[][] resultado = new int[filas][columnas];

for (int i = 0; i < filas; i++) {


for (int j = 0; j < columnas; j++) {
resultado[i][j] = matriz[i][j] * escalar;
}
}
return resultado;
}

private static int[][] dividirPorEscalar(int[][] matriz, int escalar) {


if (escalar == 0) {
System.out.println("No se puede dividir por cero.");
return null;
}

int filas = matriz.length;


int columnas = matriz[0].length;
int[][] resultado = new int[filas][columnas];

for (int i = 0; i < filas; i++) {


for (int j = 0; j < columnas; j++) {
resultado[i][j] = matriz[i][j] / escalar;
}
}
return resultado;
}

private static void imprimirMatriz(int[][] matriz) {


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

También podría gustarte