Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package laboratornay_1;
- import java.nio.file.LinkOption;
- import java.util.Scanner;
- import java.util.Arrays;
- import java.math.*;
- import java.util.Random;
- import java.math.BigInteger;
- public class Main {
- //• Инвертировать двоичный код тех чисел массива, которые кратны заданному целому числу.
- //• Найти элемент массива и его индекс, шестнадцатеричный код которого содержит больше цифр-букв.
- public static void main(String[] args) {
- boolean menu=true;
- System.out.print("Введите размер массива: ");
- Scanner in = new Scanner(System.in);//для ввода данных с консоли (глобальная фича)
- int n = in.nextInt();
- long[] massiv = new long[n];
- while(menu){
- System.out.println("Выберете один из пунктов:"+"\n"+
- "(1)заполнить массив"+"\n"+
- "(2)заполнить массив рандомно"+"\n"+
- "(3)вывод массива справа налево"+"\n"+
- "(4)вывод массива слева направо"+"\n"+
- "(5)ввод числа для поиска кратных ему в массиве"+"\n"+
- "(6)поиск индекса наибольшого элемента"+"\n"+
- "(0)выход из программы");
- int point = in.nextInt();
- switch(point){
- case 1:
- add_array(massiv,n);
- break;
- case 2:
- rand_array(massiv,n);
- break;
- case 3:
- out_array_Left(massiv);
- break;
- case 4:
- out_array_Right(massiv);
- break;
- case 5:
- krat_num(massiv);
- break;
- case 6:
- sech_array(massiv);
- break;
- case 0:
- menu=false;
- break;
- }
- }
- }
- static void add_array(long[] massiv,int n){//ввод в массив
- Scanner in = new Scanner(System.in);
- System.out.println("Введите массив данных");
- for (int i=0;i<n;i++){
- massiv[i]=in.nextLong();
- }
- }
- static void rand_array(long[] massiv,int n){//рандом *нужно поменять!!!
- for (int i=0; i<n; i++){
- massiv[i]=(long)(Math.random()*200);
- }
- }
- static void out_array_Left(long massiv[]){//вывод массива сдева на право
- for(int i=0;i<massiv.length;i++) {
- System.out.print(massiv[i]+" ");
- }
- }
- static void out_array_Right(long massiv[]){//вывод массива с право на лево
- for(int i=(massiv.length-1);i>-1;i--) {
- System.out.print(massiv[i]+" ");
- }
- }
- static void krat_num(long[] massiv){//поиск чисел кратных заданному
- if(massiv.length==0)
- System.out.println("ОШИБКА,введите сначала массив");
- else {
- long num;
- Scanner in = new Scanner(System.in);
- System.out.println("Введите число для поиска кратных ему");
- num = in.nextLong();
- for (int i = 0; i < massiv.length; i++) {
- if (massiv[i] % num == 0)
- System.out.println(massiv[i]+" инвертированное в 2-c/c : "+binar(massiv[i]));
- }
- }
- }
- static long binar(long n){//перевод в двоичную систему и инвертация его
- long b;
- String temp="";
- while(n!=0){
- temp=(n%2)+temp;
- n/=2;
- }
- temp = temp.replace("0", "*");
- temp = temp.replace("1", "0");
- temp = temp.replace("*", "1");
- long c =Long.valueOf(temp);
- return c;
- }
- static void sech_array(long []a) {//поиск элемента
- long num = a[0];
- long ch =pr_array(a[0]);
- int i;
- for (i = 0; i < a.length; i++){
- if (ch < pr_array(a[i])){
- ch = pr_array(a[i]);
- num=a[i];
- }
- }
- for(i=0;i<a.length&&a[i]!=num;i++){
- if(a[i]==num)break;
- }
- System.out.println("индекс : "+i+"_число : "+a[i]+"_кол-во букв-цифр : "+pr_array(a[i]));
- }
- static long pr_array(long n) {//перевод в 16-с/си считает количество букв в нем
- long count=0;
- String str = Long.toString(n);
- BigInteger a= new BigInteger(str);
- String s=a.toString(16);
- for (int i=0;i<s.length();i++){
- if(Character.isLetter(s.charAt(i))==true){ count++;}
- }
- return count;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement