TỔNG QUAN
CẤU TRÚC ĐIỀU KHIỂN
VÒNG LẶP
CHUỖI VÀ MẢNG
COLLECTIONS
THƯ VIỆN QUAN TRỌNG
HƯỚNG ĐỐI TƯỢNG
XỬ LÝ LUỒNG
EXCEPTION
LÀM VIỆC VỚI FILE
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Java - Thực hiện nhập vào một ma trận vuông và kiểm tra ma trận đó có phải là ma trận tam giác trên không?

Viết chương trình thực hiện các công việc sau:

  • Tạo ma trận vuông A bậc n (n > 0 và được nhập từ bàn phím), giá trị của các phần tử được nhập từ bàn phím. Xuất ma trận vừa nhập ra màn hình.
  • Kiểm tra ma trận A có phải là ma trận tam giác trên hay không? Nếu phải, tính định thức (det(A)) của ma trận A. Biết rằng: Ma trận tam giác trên là ma trận có các phần tử nằm dưới đường chéo chính đều bằng 0. 

test php

Bài giải

-------------------- ######## --------------------

Ma trận tam giác trên là ma trận có các phần tử nằm dưới đường chéo chính đếu bằng 0. Đặc điểm của các phần tử này là có chỉ số dòng lớn hơn chỉ số cột. Vì vậy, để kiểm tra một ma trận có phải là ma trận tam giác trên hay không thì chúng ta sẽ sử dụng vòng lặp for để duyệt các phần tử có chỉ số dòng > chỉ số cột, nếu các phần tử này = 0 thì ma trận đó là ma trận tam giác trên, ngược lại thì ma trận đó không phải là ma trận tam giác trên.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Để tính định thức của ma trận tam giác trên thì chúng ta sẽ lấy các phần tử nằm trên đường chéo chính của ma trận đó nhân lại với nhau.

Bài giải
public static void main(String[] args) {
	int n, max = 10;
	int kt = 1;	// là ma trận tam giác trên
	int dinhThuc = 1;
	Scanner scanner = new Scanner(System.in);
		
	do {
		System.out.println("Nhập vào bậc của ma trận: ");
		n = scanner.nextInt();
	} while (n < 0);
		
	int[][] A = new int[n][n];
	System.out.println("Nhập vào các phần tử của ma trận A: ");
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			System.out.print("A[" + i + "]["+ j + "] = ");
			A[i][j] = scanner.nextInt();
		}
	}
		
	System.out.println("Ma trận A: ");
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			System.out.print(A[i][j] + "\t");
		}
		System.out.println("\n");
	}
		
	// kiểm tra ma trận A có phải là ma trận tam giác trên hay không?
	// Ma trận tam giác trên là ma trận 
	// có các phần tử nằm dưới đường chéo chính = 0
	// Đặc điểm của các phần tử này là có chỉ số dòng > chỉ số cột
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < i; j++) {
			if (A[i][j] == 0) {
				kt = 1;
			} else {
				kt = 0;
			}
		}
	}
		
	if (kt == 1) {
		System.out.println("Ma trận A là ma trận tam giác trên.");
	} else {
		System.out.println("Ma trận A không là ma trận tam giác trên");
	}
		
	// tính định thức của ma trận trên
	// định thức của ma trận tam giác trên
	// sẽ bằng tích các phần tử nằm trên đường chéo chính
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			// các phần tử nằm trên đường chéo chính
			// có đặc điểm là chỉ số dòng = chỉ số cột
			if (i == j) {
				dinhThuc *= A[i][j];
			}
		}
	}
		
	System.out.println("Định thức của ma trận trên = " + dinhThuc);
}

Kết quả sau khi biên dịch chương trình:

ketqua baitap5mang2chieu PNG

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Top