Thứ Ba, 3 tháng 7, 2018

(JAVA) Bài tập 11: Xử lý mảng 1 chiều (P2)

Đề bài: - Nhập m, n để tạo 2 mảng số nguyên ngẫu nhiên A[n] và B[m] có giá trị khoảng {-100,+100}. Ghép A và B thành mảng C[p] (p=m+n).  In ra mảng A,B và C.
- Sắp xếp mảng C tăng dần.
- Nhập số nguyên x, kiểm tra x có xuất hiện trong mảng C hay không, nếu có thì xuất hiện mấy lần, ở vị trí đầu tiên nào.
- Xóa các phần tử trùng nhau của mảng C, in ra mảng C mới.
Source Code đề nghị:
import java.util.*;
public class XuLyMang_P2 {

public static void main(String[] args) {
int i,j,k,m,n,p;
Scanner nhap=new Scanner(System.in);
        System.out.print("Nhap so phan tu mang A: ");
        n = nhap.nextInt();
        System.out.print("Nhap so phan tu mang B: ");
        m = nhap.nextInt();
        p = m + n;
        // Khai bao mang
        int[] A = new int[n];
        int[] B = new int[m];
        int[] C = new int[p];
        Random Dau = new Random();
        Random Cuoi = new Random();
        // Tao phan tu mang A, B ngau nhien trong khoang {-100,+100} và xuat mang
        for (i = 0; i < n; i++)         
        A[i]=Dau.nextInt(100)-Cuoi.nextInt(100);
        for (i = 0; i < m; i++)
        B[i]=Dau.nextInt(100)-Cuoi.nextInt(100);         
        System.out.println("\nMANG A NGAU NHIEN");
        System.out.println("-----------------");
        System.out.print("A[ ");
        for ( i = 0; i < n; i++)
            System.out.print(A[i] + "  ");
        System.out.println("]");
        System.out.println("\nMANG B NGAU NHIEN B");
        System.out.println("-------------------");

        System.out.print("B[ ");
        for (i = 0; i < m; i++)
            System.out.print(B[i] + "  ");
        System.out.println("]");
        // Tron 2 mang A, B thanh mang C
        System.out.println("\nMANG A VA B DA GHEP THANH MANG C");
        System.out.println("----------------------------------");
        for (i = 0; i < n; i++)
            C[i] = A[i];
        for (j = 0; j < m; j++)
        {
            C[i] = B[j];
            i++;
        }
        System.out.print("C[ ");
        for (i = 0; i < p; i++)
            System.out.print(C[i] + "  ");
        System.out.println("]");       
        // Sap xep mang C tang dan
        System.out.println("\nSAP XEP MANG C TANG DAN");
        System.out.println("-----------------------");
        Arrays.sort(C);
     
        System.out.print("C[ ");
        for ( i = 0; i < p; i++)
            System.out.print(C[i]+"  ");
        System.out.println("]");
        // Kiem tra 1 so x co mat trong mang C hay khong
        System.out.println("\nKIEM TRA 1 SO CO MAT RONG MANG C");
        System.out.println("--------------------------------- ");
        System.out.print("Nhap so can kiem tra: ");
        int x; int dem = 0;int vitri=0;
        x = nhap.nextInt();
        for (i = 0; i < p; i++)
            if (C[i] == x)
            {
                dem = dem + 1;
                vitri = i;
            }
        if (dem > 0)
        {
            System.out.println("+ So "+x+" xuat hien "+dem+" lan trong mang ");
            System.out.println("+ Vi tri dau tien xuat hien so "+x+": C["+ vitri+"]");
        }
        else
            System.out.println("Khong co mat phan tu "+x+" trong mang C ");
        // Xoa phan tu trung nhau trong mang C
        System.out.println("\nXOA PHAN TU TRUNG NHAU-IN MANG DA XOA");
        System.out.println("--------------------------------- ");
        i = 1;
        while (i < p)
        {
            j = 0;
            while (C[j] != C[i])
                j++;
            if (j < i)
            {
                for (k = i; k < p - 1; k++)
                    C[k] = C[k + 1];
                p--;
             }
            else
                i++;
        }
        // Xuat mang da xoa cacphan tu tung nhau
        System.out.print("C[ ");
        for (i = 0; i < p; i++)
            System.out.print(C[i] + "  ");
        System.out.println("]");
}
}


(Có) Không có nhận xét nào cho bài viết này

Đăng nhận xét

Hãy nhập Nhận xét cho bài viết này vào khung bên dưới. Cảm ơn...