Advertisement
Guest User

Untitled

a guest
Sep 21st, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. package laboratornay_1;
  2. import java.nio.file.LinkOption;
  3. import java.util.Scanner;
  4. import java.util.Arrays;
  5. import java.math.*;
  6. import java.util.Random;
  7. import java.math.BigInteger;
  8.  
  9. public class Main {
  10. //• Инвертировать двоичный код тех чисел массива, которые кратны заданному целому числу.
  11. //• Найти элемент массива и его индекс, шестнадцатеричный код которого содержит больше цифр-букв.
  12. public static void main(String[] args) {
  13. boolean menu=true;
  14. System.out.print("Введите размер массива: ");
  15. Scanner in = new Scanner(System.in);//для ввода данных с консоли (глобальная фича)
  16. int n = in.nextInt();
  17. long[] massiv = new long[n];
  18. while(menu){
  19. System.out.println("Выберете один из пунктов:"+"\n"+
  20. "(1)заполнить массив"+"\n"+
  21. "(2)заполнить массив рандомно"+"\n"+
  22. "(3)вывод массива справа налево"+"\n"+
  23. "(4)вывод массива слева направо"+"\n"+
  24. "(5)ввод числа для поиска кратных ему в массиве"+"\n"+
  25. "(6)поиск индекса наибольшого элемента"+"\n"+
  26. "(0)выход из программы");
  27. int point = in.nextInt();
  28. switch(point){
  29. case 1:
  30. add_array(massiv,n);
  31. break;
  32. case 2:
  33. rand_array(massiv,n);
  34. break;
  35. case 3:
  36. out_array_Left(massiv);
  37. break;
  38. case 4:
  39. out_array_Right(massiv);
  40. break;
  41. case 5:
  42. krat_num(massiv);
  43. break;
  44. case 6:
  45. sech_array(massiv);
  46. break;
  47. case 0:
  48. menu=false;
  49. break;
  50. }
  51. }
  52. }
  53. static void add_array(long[] massiv,int n){//ввод в массив
  54. Scanner in = new Scanner(System.in);
  55. System.out.println("Введите массив данных");
  56. for (int i=0;i<n;i++){
  57. massiv[i]=in.nextLong();
  58. }
  59. }
  60. static void rand_array(long[] massiv,int n){//рандом *нужно поменять!!!
  61. for (int i=0; i<n; i++){
  62. massiv[i]=(long)(Math.random()*200);
  63. }
  64. }
  65. static void out_array_Left(long massiv[]){//вывод массива сдева на право
  66. for(int i=0;i<massiv.length;i++) {
  67. System.out.print(massiv[i]+" ");
  68. }
  69. }
  70. static void out_array_Right(long massiv[]){//вывод массива с право на лево
  71. for(int i=(massiv.length-1);i>-1;i--) {
  72. System.out.print(massiv[i]+" ");
  73. }
  74. }
  75. static void krat_num(long[] massiv){//поиск чисел кратных заданному
  76. if(massiv.length==0)
  77. System.out.println("ОШИБКА,введите сначала массив");
  78. else {
  79. long num;
  80. Scanner in = new Scanner(System.in);
  81. System.out.println("Введите число для поиска кратных ему");
  82. num = in.nextLong();
  83. for (int i = 0; i < massiv.length; i++) {
  84. if (massiv[i] % num == 0)
  85. System.out.println(massiv[i]+" инвертированное в 2-c/c : "+binar(massiv[i]));
  86. }
  87. }
  88. }
  89. static long binar(long n){//перевод в двоичную систему и инвертация его
  90. long b;
  91. String temp="";
  92. while(n!=0){
  93. temp=(n%2)+temp;
  94. n/=2;
  95. }
  96. temp = temp.replace("0", "*");
  97. temp = temp.replace("1", "0");
  98. temp = temp.replace("*", "1");
  99. long c =Long.valueOf(temp);
  100. return c;
  101. }
  102. static void sech_array(long []a) {//поиск элемента
  103. long num = a[0];
  104. long ch =pr_array(a[0]);
  105. int i;
  106. for (i = 0; i < a.length; i++){
  107. if (ch < pr_array(a[i])){
  108. ch = pr_array(a[i]);
  109. num=a[i];
  110. }
  111. }
  112. for(i=0;i<a.length&&a[i]!=num;i++){
  113. if(a[i]==num)break;
  114. }
  115. System.out.println("индекс : "+i+"_число : "+a[i]+"_кол-во букв-цифр : "+pr_array(a[i]));
  116. }
  117. static long pr_array(long n) {//перевод в 16-с/си считает количество букв в нем
  118. long count=0;
  119. String str = Long.toString(n);
  120. BigInteger a= new BigInteger(str);
  121. String s=a.toString(16);
  122. for (int i=0;i<s.length();i++){
  123. if(Character.isLetter(s.charAt(i))==true){ count++;}
  124. }
  125. return count;
  126. }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement