Advertisement
Vasilena

ТЕМА 09

Dec 3rd, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.66 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Arrays;
  3.  
  4. public class Exercise1 {
  5.     public static void main(String[] args) {
  6.         Scanner scan = new Scanner(System.in);
  7.         System.out.print("Enter number of elements: ");
  8.         int n = scan.nextInt();
  9.         int[] arr = new int[n];
  10.         int[] arrEven = new int[n];
  11.         int[] arrOdd = new int[n];
  12.  
  13.         //FILLING THE FIRST ARRAY//
  14.         for (int i = 0; i < n; i++) {
  15.             System.out.printf("Please, enter the <%d> element:", i);
  16.             int number = scan.nextInt();
  17.             arr[i] += number;
  18.         }
  19.  
  20.         //SEPARATION OF EVEN AND ODD ELEMENTS//
  21.         for (int i = 0; i < n; i++) {
  22.             if (arr[i] % 2 == 0) {
  23.                 arrEven[i] += arr[i];
  24.             } else {
  25.                 arrOdd[i] += arr[i];
  26.             }
  27.         }
  28.  
  29.         //ASCENDING BUBBLE SORT OF EVEN ELEMENTS//
  30.         for (int i = 0; i < arrEven.length - 1; i++) {
  31.             for (int j = 0; j < arrEven.length - i - 1; j++) {
  32.                 if (arrEven[j] > arrEven[j + 1]) {
  33.                     int swap = arrEven[j];
  34.                     arrEven[j] = arrEven[j + 1];
  35.                     arrEven[j + 1] = swap;
  36.                 }
  37.             }
  38.         }
  39.  
  40.         //REMOVING THE ZEROS(for arrEven)//
  41.         int targetetIndexEven = 0;
  42.         for (int sourceIndexEven = 0; sourceIndexEven < arrEven.length; sourceIndexEven++) {
  43.             if (arrEven[sourceIndexEven] != 0) {
  44.                 arrEven[targetetIndexEven++] = arrEven[sourceIndexEven];
  45.             }
  46.         }
  47.         int[] newArrayEven = new int[targetetIndexEven];
  48.         System.arraycopy(arrEven, 0, newArrayEven, 0, targetetIndexEven);
  49.  
  50.         // DESCENDING INSERTION SORT OF ODD ELEMENTS//
  51.         for (int i = 1; i < arrOdd.length; i++) {
  52.             int temp = arrOdd[i];
  53.             int j = i - 1;
  54.             while (j >= 0 && temp > arrOdd[j]) {
  55.                 arrOdd[j + 1] = arrOdd[j];
  56.                 --j;
  57.             }
  58.             arrOdd[j + 1] = temp;
  59.         }
  60.  
  61.         //REMOVING THE ZEROS(FOR arrOdd)//
  62.         int targetIndexOdd = 0;
  63.         for (int sourceIndexOdd = 0; sourceIndexOdd < arrOdd.length; sourceIndexOdd++) {
  64.             if (arrOdd[sourceIndexOdd] != 0) {
  65.                 arrOdd[targetIndexOdd++] = arrOdd[sourceIndexOdd];
  66.             }
  67.  
  68.         }
  69.         int[] newArrayOdd = new int[targetIndexOdd];
  70.         System.arraycopy(arrOdd, 0, newArrayOdd, 0, targetIndexOdd);
  71.  
  72.         //PRINTING THE ARRAYS//
  73.         System.out.println("Even numbers: " + Arrays.toString(newArrayEven));
  74.         System.out.println("Odd numbers: " + Arrays.toString(newArrayOdd));
  75.  
  76.     }
  77. }
  78.  
  79.  
  80.  
  81.  
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement