14,16
import java.util.Scanner;
public class Main {
// In bảng cửu chương từ 1 đến 10, mỗi bảng trên một dòng
public static void printMultiplicationTableFormat1() {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
System.out.print(i * j + " ");
}
System.out.println();
}
}
// In bảng cửu chương từ 1 đến 10, mỗi bảng cột xếp theo 2 cột
public static void printMultiplicationTableFormat2() {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 5; j++) {
System.out.printf("%d x %d = -\t\t%d x %d = -\n", j, i, j * i, j + 5, i, (j + 5) * i);
}
System.out.println();
}
}
// Tính tổng hai ma trận
public static int[][] addMatrices(int[][] matrix1, int[][] matrix2) {
int rows = matrix1.length;
int cols = matrix1[0].length;
int[][] sum = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
sum[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
return sum;
}
// Tính hiệu hai ma trận
public static int[][] subtractMatrices(int[][] matrix1, int[][] matrix2) {
int rows = matrix1.length;
int cols = matrix1[0].length;
int[][] difference = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
difference[i][j] = matrix1[i][j] - matrix2[i][j];
}
}
return difference;
}
// Tính tích hai ma trận
public static int[][] multiplyMatrices(int[][] matrix1, int[][] matrix2) {
int rows1 = matrix1.length;
int cols1 = matrix1[0].length;
int cols2 = matrix2[0].length;
int[][] product = new int[rows1][cols2];
for (int i = 0; i < rows1; i++) {
for (int j = 0; j < cols2; j++) {
for (int k = 0; k < cols1; k++) {
product[i][j] += matrix1[i][k] * matrix2[k][j];
}
}
}
return product;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// In bảng cửu chương theo hai định dạng
System.out.println("Bảng cửu chương dạng 1:");
printMultiplicationTableFormat1();
System.out.println("\nBảng cửu chương dạng 2:");
printMultiplicationTableFormat2();
// Nhập và tính toán ma trận
System.out.println("\nNhập số hàng và số cột của ma trận:");
int rows = scanner.nextInt();
int cols = scanner.nextInt();
int[][] matrix1 = new int[rows][cols];
int[][] matrix2 = new int[rows][cols];
System.out.println("Nhập các phần tử của ma trận thứ nhất:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix1[i][j] = scanner.nextInt();
}
}
System.out.println("Nhập các phần tử của ma trận thứ hai:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix2[i][j] = scanner.nextInt();
}
}
int[][] sum = addMatrices(matrix1, matrix2);
int[][] difference = subtractMatrices(matrix1, matrix2);
int[][] product = multiplyMatrices(matrix1, matrix2);
System.out.println("Tổng hai ma trận:");
printMatrix(sum);
System.out.println("Hiệu hai ma trận:");
printMatrix(difference);
System.out.println("Tích hai ma trận:");
printMatrix(product);
scanner.close();
}
// In ma trận
public static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int cell : row) {
System.out.print(cell + " ");
}
System.out.println();
}
}
}