פתרון התרגילים + מערך מונים

// הפעולה מחזירה את האלכסון הארוך ביותר מהקודקוד שנמצא במקום idx

public static double maxInPointsArr(Point [] arr,int idx){

       double max = 0;

       for (int i=0;i<arr.length;i++){

              if (idx == 0){

                     if (i != 1 && i != arr.length-1)

                           max = Math.max(max,arr[i].dis(arr[idx]));

              }

              else if (idx == arr.length-1){

                     if (i != 0 && i != arr.length-2)

                           max = Math.max(max,arr[i].dis(arr[idx]));

              }

              else if (i != idx-1 && i != idx+1){

                     max = Math.max(max,arr[i].dis(arr[idx]));

              }                   

       }

       return max;

      

}

public static double maxDiagonal(Point [] arr){

       double max = 0,tmp;

       for (int i=0;i<arr.length;i++){

              tmp = maxInPointsArr(arr,i);

              max = Math.max(max, tmp);

       }

       return max;

}

      

      

public static void printArr(int [] arr){

       for (int i=0;i<arr.length;i++){

              System.out.print(arr[i]+",");

       }

       System.out.println();

}

      

public static void main(String[] args) {

      

       int num;

       int [] arr = new int[101];

      

       for (int i=0;i<arr.length;i++){

              arr[i] = 0;

       }

       for (int i=0;i<7895;i++){

              num = (int)(Math.random()*101);

              arr[num]++;

       }

      

       printArr(arr);

}