DaniDori

Мода массива

Feb 24th, 2020
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. package com.company;
  2. import java.lang.reflect.Array;
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. import static java.util.Arrays.copyOf;
  7. import static java.util.Arrays.sort;
  8.  
  9. public class Main {
  10.  
  11. public static void main(String[] args) {
  12. Scanner in=new Scanner(System.in);
  13. System.out.println("Введите размер массива");
  14. int n;
  15. if(in.hasNextInt()) {
  16. n = in.nextInt();
  17. }
  18. else{
  19. System.out.println("Некоректный ввод");
  20. return;
  21. }
  22. int arr[]=new int[n];
  23. System.out.println("Введите элементы массива");
  24. for(int i=0; i<n; i++)
  25. if(in.hasNextInt())
  26. arr[i]=in.nextInt();
  27. else{
  28. System.out.println("Некоректный ввод");
  29. return;
  30. }
  31. int mod=func(arr);
  32. if(mod==-1)
  33. System.out.println("Мода не существует");
  34. else
  35. System.out.println("Мода массива равна: " + mod);
  36. }
  37. public static int func(int arr[]){
  38. sort(arr);
  39. int count=1, prev, max=-1, mod=0;
  40.  
  41. prev=arr[0];
  42. for(int i=1; i<arr.length;i++){
  43. if(arr[i]==prev)
  44. count++;
  45. else
  46. count=1;
  47. if(count==max)
  48. mod=-1;
  49. if(count>max){
  50. max=count;
  51. mod=arr[i];
  52. }
  53. prev=arr[i];
  54. }
  55. return mod;
  56. }
  57.  
  58. }
Add Comment
Please, Sign In to add comment