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 - Kiểm tra mảng một chiều vừa nhập có phải là mảng đối xứng hay không?

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

  • Nhập liệu cho mảng một chiều có n phần tử nguyên (n > 0) từ bàn phím.
  • Kiểm tra mảng một chiều vừa nhập có đối xứng hay không?

Biết rằng: Mảng một chiều A có n phần tử là mảng đối xứng nếu mọi phần tử của mảng thỏa mãn A[i] = A[n - i - 1] với i = 0, 1,..., n - 1.

Ví dụ: Các mảng một chiều sau đây là đối xứng:

A[0] = 1     A[1] = 2     A[2] = 3     A[3] = 2     A[4] = 1

B[0] = 1     B[1] = 2     B[2] = 3     B[3] = 3     B[4] = 2     B[5] = 1

Các mảng một chiều sau đây là không đối xứng:

C[0] = 1     C[1] = 2     C[2] = 3     C[3] = 1     C[4] = 2

D[0] = 1     D[1] = 2     D[2] = 3     D[3] = 4     D[4] = 2     D[5] = 1

test php

Bài giải

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

Bài giải
public static void main(String[] args) {
	int n, kt = 1;
	Scanner scanner = new Scanner(System.in);
		
	do {
		System.out.println("Nhập số phần tử của mảng: ");
		n = scanner.nextInt();
	} while (n <= 0);
		
	int A[] = new int[n];
		
	System.out.println("Nhập giá trị cho các phần tử của mảng: ");
	for (int i = 0; i < n; i++) {
		System.out.print("A[" + i + "] = ");
		A[i] = scanner.nextInt();
	}
		
	// kiểm tra mảng đảo ngược
	// dùng vòng lặp for duyệt i = 0 đến i < n / 2
	// nếu A[i] != A[n - i -1]
	// thì mảng đó không phải mảng đối xứng
	for (int i = 0; i < n / 2; i++) {
		if (A[i] != A[n - i - 1]) {
			kt = 0;
			break;
		}
	}
		
	if (kt == 0) {
		System.out.println("Mảng một chiều vừa nhập không là mảng đối xứng");
	} else {
		System.out.println("Mảng một chiều vừa nhập là mảng đối xứng");
	}
}

Giải thích hoạt động của chương trình 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.

Bước 1: Dùng biến kt để kiểm tra, ban đầu kt = 1 (xem như mảng đối xứng).

Bước 2: Vòng lặp for sẽ duyệt từ phần tử đầu tiên đến phần tử có chỉ số n / 2. Với mỗi lần lặp, so sánh phần tử ở nửa dãy đầu với phần tử đối xứng với nó ở nửa dãy cuối (tức phần tử ở vị trí i so sánh với phần tử ở vị trí n - i - 1), nếu 2 phần tử đó có giá trị không bằng nhau thì trả biến kt = 0 (tức nhận giá trị sai, nghĩa là mảng không đối xứng) và kết thúc lặp.

Bước 3: Khi ra khỏi vòng lặp, căn cứ vào giá trị biến kt để kết luận: nếu kt = 0 thì mảng một chiều không đối xứng, nếu kt = 1 thì mảng một chiều đối xứng.

Bài viết này được đăng tại [free tuts .net]

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

Nếu mảng nhập vào là mảng đối xứng:

ketqua mangdoixung PNG

Nếu mảng nhập vào không là mảng đối xứng:

ketqua mangkhongdoixung 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