Lập trình Java - Tìm phần tử lớn nhất, In ra các phần tử ....

Viết chương trình nhập vào vào ma trận A có n dòng, m cột, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

  1. Tìm phần tử lớn nhất của ma trận cùng chỉ số của số đó.
  2. Tìm và in ra các phần tử là số nguyên tố của ma trận (các phần tử không nguyên tố thì thay bằng số 0).
  3. Sắp xếp tất cả các cột của ma trận theo thứ tự tăng dần và in kết quả ra màn hình.
     

Mã nguồn chương trình:


import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ADMIN
 */
public class Bai29 {

    /**
     * @param args the command line arguments
     */
    public static int nhap(){
        Scanner input= new Scanner(System.in);
        boolean check= false;
        int n=0;
        while(!check){
            System.out.print(" ");
            try{
                n= input.nextInt();
                check= true;
            }catch(Exception e){
                System.out.println("Ban phai nhap so! hay nhap lai...");
                input.nextLine();
            }
        }
        return (n);
    }
    public static boolean checkSNT(int n){
        if(n>1){
            for(int i=2;i<=Math.sqrt(n);i++){
                if(n%i==0) return false;
        }
        return true;
	}
            else return false;
    }
    public static void inMT(int[][] A, int n, int m){
        int i,j;
        for(i=0 ; i<n ; i++){
            System.out.print("\n");
            for(j=0 ; j<m ; j++) System.out.print(" "+A[i][j]);
        }
    }
    public static int findMaxMT(int[][] A, int n, int m){
        int Max= A[0][0];
        for(int i=0 ; i<n ; i++){
                for(int j=0 ; j<m ; j++){
                    if(Max<A[i][j]) Max= A[i][j];
                }
        }
        return (Max);
    }
	//Tim nhung phan tu la SNT
    public static void phanTuSNT(int[][] A, int n, int m){
        int count=0,i,j;
        System.out.println("\nCac phan tu la SNT (nhung phan tu ko la SNT =0): ");
        for(i=0 ; i<n ; i++){
            System.out.print("\n");
            for(j=0 ; j<m ; j++){
                if(checkSNT(A[i][j])){
                    count++;
                    System.out.print(" "+A[i][j]);
                }
                else System.out.print(" "+0);
            }
        }
        System.out.println("\n Co "+count+" phan tu la so nguyen to");
    }
	//Sap xep cac cot theo thu tang dan
    public static void sortColum(int[][] A, int n, int m){
        int i,j,temp;
        for(j=0 ; j<m ; j++){
            for(i=1 ; i<n ; i++){
                if(A[i-1][j]>A[i][j]){
                    temp= A[i-1][j];
                    A[i-1][j]= A[i][j];
                    A[i][j]= temp;
                }
            }
        }
        inMT(A, n, m);
    }

    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Nhap so hang n=");
        int n= nhap();
        System.out.println("Nhap so cot m=");
        int m= nhap();
        int [][] A= new int[n][m];
        int i,j;
        for(i=0 ; i<n ; i++){
            for(j=0 ; j<m ; j++){
                System.out.println("Nhap phan tu thu A["+(i+1)+"]["+(j+1)+"]= ");
                A[i][j]= nhap();
            }
        }
        System.out.println("Ma tran nhap vao: ");
        inMT(A, n, m);
        for(i=0 ; i<n ; i++){
            for(j=0 ; j<m ; j++){
                if(A[i][j]==findMaxMT(A, n, m))
                    System.out.println("\nPhan tu o hang "+i+" cot "+j+" dat Max: A["+i+"]["+j+"]= "+A[i][j]);
            }
        }

        phanTuSNT(A, n, m);
        sortColum(A, n, m);

    }
    
}

 Kết quả chạy chương trình:

Nhap so hang n=
3
 Nhap so cot m=
3
 Nhap phan tu thu A[1][1]= 
4
 Nhap phan tu thu A[1][2]= 
3
 Nhap phan tu thu A[1][3]= 
21
 Nhap phan tu thu A[2][1]= 
5
 Nhap phan tu thu A[2][2]= 
6
 Nhap phan tu thu A[2][3]= 
7
 Nhap phan tu thu A[3][1]= 
3
 Nhap phan tu thu A[3][2]= 
9
 Nhap phan tu thu A[3][3]= 
2
 Ma tran nhap vao: 

 4 3 21
 5 6 7
 3 9 2
Phan tu o hang 0 cot 2 dat Max: A[0][2]= 21

Cac phan tu la SNT (nhung phan tu ko la SNT =0): 

 0 3 0
 5 0 7
 3 0 2
 Co 5 phan tu la so nguyen to

 4 3 7
 3 6 2
 5 9 21