Tìm giá trị trong mảng số nguyên “xa giá trị x nhất”

Yêu cầu
– Nhập vào mảng 1 chiều số nguyên và giá trị x
– Tìm giá trị trong mảng số thực “xa giá trị x nhất”
Ví dụ: cho mảng 15 25 -9 12 32
Giá trị x = 10
Hiệu số x so với các phần tử trong mảng 5 15 19 2 22
Giá trị xa giá trị x nhất là 32

Giải thuật
– Dùng vòng lặp for() và câu lệnh if() để kiểm tra.

Code

package net.vncoding;
import java.util.Scanner;
import java.lang.Math;

public class JavaCore {
	
    static int arr[] = {1, -3, -9, 7, 8, 16, -23, 2, 20};
	
    public static void main(String[] args) {
    	
    	int x;
    	
    	System.out.print("Input x = ");
    	Scanner sc = new Scanner(System.in); 
    	x = sc.nextInt();
    	
        int res = find_farthest_x(arr, x);
        System.out.println("Element is farthest " + x + " is " + res);
        
        sc.close();
    }
    
    public static int find_farthest_x(int arr[], int x) {
    	int sub = Math.abs(arr[0] - x);
    	int res = arr[0];
    	int i;
    	for(i = 1; i < arr.length; i++) {
    	    if(sub < Math.abs(arr[i] - x)) {
    		sub = Math.abs(arr[i] - x);
    		res = arr[i];
    	    }
    	}
    	return res;
    }
}

Kết quả

Java - Tìm giá trị trong mảng số thực
Java – Tìm giá trị trong mảng số thực “xa giá trị x nhất”

Be the first to comment

Leave a Reply