Facebook
From Queen Pintail, 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 128
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         int[][] arr = new int[][]{{1, 2}, {3, 4, 5, 6}, {7}};
  4.         int tong = 0;
  5.         int rtong = 0;
  6.         int ctong = 0;
  7.         int rmax = 0;
  8.         int ri = 0;
  9.         int cmin = 0;
  10.         int ci = 0;
  11.         int maxCol = 0;
  12.         int check = 0;
  13.         //xác định số cột lớn nhất
  14.         for (int i = 0; i < arr.length; i++) {
  15.             cmin = cmin + arr[i][0];           // đặt cmin = tổng các giá trị hàng đầu tiên luôn ở đây
  16.             if (arr[i].length > maxCol) {
  17.                 maxCol = arr[i].length;      // xác định được số cột lớn nhất
  18.             }
  19.         }
  20.  
  21.         for (int i = 0; i < arr.length; i++) {
  22.             rtong = 0;
  23.             for (int j = 0; j < arr[i].length; j++) {
  24.                 ctong = 0;
  25.                 rtong += arr[i][j];
  26.                 tong += arr[i][j];
  27.                 if (arr[i].length == maxCol && check != 2) { //thực hiện tìm cmin khi lặp đến hàng có cột lớn nhất đầu tiền (check != 2)
  28.                     check = 1; //xác định đã vào đến mảng con có cột lớn nhất
  29.                     for (int k = 0; k < arr.length; k++) { //for chạy từ mảng con 0 đến mảng con cuối, bắt đầu từ cột 1 đến cột max
  30.                         if (j < arr[k].length) {  // kiểm tra nếu số cột của mảng con hiện tại mà ít hơn cột max, thì mới cộng
  31.                             ctong = ctong + arr[k][j];
  32.                         }
  33.                     }
  34.                     if (cmin > ctong) {     // nếu cmin > ctong thì đặt lại cmin=ctong và ci là vị trí cột
  35.                         cmin = ctong;
  36.                         ci = j;
  37.                     }
  38.                 }
  39.                 if (j ==arr[i].length-1 && check==1) {
  40.                     check = 2; // đã xác định được cmin, đặt check = 2 để không lặp lại vòng for (k) ở trên nếu còn mảng con khác có cùng col max
  41.                 }
  42.             }
  43.             if (i == 0 || rmax < rtong) {
  44.                 rmax = rtong;
  45.                 ri = i;
  46.             }
  47.         }
  48.         System.out.println("Tong cac phan tu: "+tong);
  49.         System.out.println("Dong co gia tri lon nhat: "+(ri+1) +" voi tong la: " +rmax);
  50.         System.out.println("Dong do la: ");
  51.         for (int i = 0; i < arr[ri].length; i++) {
  52.             System.out.print(arr[ri][i]+" ");
  53.         }
  54.  
  55.         System.out.println("Cot co gia tri nho nhat: "+(ci+1)+" voi tong la: " + cmin);
  56.         System.out.println("Cot do la: ");
  57.         for (int i = 0; i < arr.length; i++) {
  58.             if (arr[i].length < ci+1) {
  59.                 System.out.print("none ");  //nếu không có phần tử thì in ra none
  60.             }
  61.             else
  62.             {
  63.                 System.out.print(arr[i][ci]+" ");
  64.             }
  65.  
  66.         }
  67.     }
  68. }